-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
56 lines (40 loc) · 991 Bytes
/
Makefile
File metadata and controls
56 lines (40 loc) · 991 Bytes
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
ifeq ($(OS), Windows_NT)
PIC_FLAG =
STATIC_EXT = lib
DYNAMIC_EXT = dll
else
PIC_FLAG = -fPIC
STATIC_EXT = a
DYNAMIC_EXT = so
endif
STATIC_LIBS = libsref.$(STATIC_EXT)
SHARED_LIBS = libsref.$(DYNAMIC_EXT)
HEADERS = sref.h
OBJS = sref.o
LOBJS = $(OBJS:.o=.lo)
TEST_OBJS = $(LOBJS)
ALL_LIBS = $(STATIC_LIBS) $(SHARED_LIBS)
-include config.mak
AR = $(CROSS_COMPILE)ar
RANLIB = $(CROSS_COMPILE)ranlib
CFLAGS += $(CFLAGS_AUTO) -D_DEFAULT_SOURCE
all: $(ALL_LIBS)
check: $(TEST_OBJS)
$(CC) $(CFLAGS) tests/test.c $(TEST_OBJS) -o tst
./tst
%.o: %.c $(HEADERS) compat.h
$(CC) $(CFLAGS) -c $< -o $@
%.lo: %.c $(HEADERS) compat.h
$(CC) $(CFLAGS) $(PIC_FLAG) -c $< -o $@
libsref.$(STATIC_EXT): $(OBJS)
rm -f $@
$(AR) rc $@ $(OBJS)
$(RANLIB) $@
libsref.$(DYNAMIC_EXT): $(LOBJS)
$(CC) $(PIC_FLAG) -shared $(CFLAGS) -o $@ $(LOBJS)
install: $(ALL_LIBS)
mkdir -p $(includedir)/sref
cp libsref* $(libdir)/
cp $(HEADERS) $(includedir)/sref
clean:
rm -rf *.o *.lo libsref.* tst