summaryrefslogtreecommitdiff
path: root/tests/c/Makefile
blob: 0384acca1d9f812bdb831279dcc2116b80785f36 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
CC ?= gcc
CFLAGS ?= -Wall -Wextra -O2 -Isrc -I../../monero_libwallet2_api_c/src/main/cpp -Itests
LDFLAGS ?=

UNAME_S := $(shell uname -s)

ifeq ($(OS),Windows_NT)
    LIB_EXT := dll
else ifeq ($(UNAME_S),Darwin)
    LIB_EXT := dylib
else
    LIB_EXT := so
endif

UNAME_S := $(shell uname -s)
UNAME_M := $(shell uname -m)

# Normalize architecture
ifeq ($(UNAME_M),x86_64)
  ARCH := x86_64
else ifeq ($(UNAME_M),aarch64)
  ARCH := aarch64
else ifeq ($(UNAME_M),arm64)
  ARCH := aarch64
else
  ARCH := $(UNAME_M)
endif

# Normalize OS
ifeq ($(UNAME_S),Darwin)
  OS := apple-darwin
else ifeq ($(UNAME_S),Linux)
  OS := linux-gnu
else
  OS := unknown-$(shell echo $(UNAME_S) | tr A-Z a-z)
endif

HOST_ABI := $(ARCH)-$(OS)

LIB_DIR ?= ../../release/$(shell git describe --tags)/$(HOST_ABI)

SRC_DIRS ?= src tests
SRCS := $(wildcard $(addsuffix /*.c,$(SRC_DIRS)))
OBJS := $(SRCS:.c=.o)
TARGET = test_wallet2_api_c

.PHONY: all clean

all: $(TARGET)

$(TARGET): $(OBJS)
	$(CC) $(OBJS) -o $@ -L$(LIB_DIR) -lmonero_wallet2_api_c -Wl,-rpath,$(LIB_DIR) $(LDFLAGS)

%.o: %.c
	$(CC) $(CFLAGS) -c $< -o $@

clean:
	rm -f $(OBJS) $(TARGET)