]> begriffs open source - libtap/blob - config.mk
Only use one ifdef __cplusplus in tap.h and remove gnu .t executable extension.
[libtap] / config.mk
1 GNU = 1
2 MAKE = make
3 CFLAGS = $(DEBUG)
4 ifdef GNU
5         ALLCFLAGS = -Wall $(CFLAGS)
6         DEBUG = -g
7         CCFLAGS = -c
8         CCOUT = -o
9         CLOUT = -o
10         PIC = -fPIC
11         _O = .o
12         _X =
13         _A = .a
14         _SO = .so
15         TAPLIB = libtap.a
16         STATICLIB.o = $(AR) rcs $@ $(filter %$(_O), $^)
17         DYNAMICLIB.o = $(CC) -shared -o $@ $(filter %$(_O), $^)
18 else
19         CC = cl /nologo
20         ALLCFLAGS = /Wall /wd4255 /wd4996 /wd4127 /wd4820 \
21                             /wd4100 /wd4619 /wd4514 /wd4668 $(CFLAGS)
22         DEBUG = /Zi
23         CCFLAGS = /c
24         CCOUT = /Fo
25         CLOUT = /Fe
26         PIC =
27         _O = .obj
28         _X = .exe
29         _A = .lib
30         _SO = .dll
31         TAPLIB = tap.lib
32         STATICLIB.o = lib /nologo /out:$@ $(filter %$(_O), $^)
33         DYNAMICLIB.o = lib /nologo /out:$@ $(filter %$(_O), $^)
34 endif
35 COMPILE.c = $(CC) $(CCFLAGS) $(CPPFLAGS) $(ALLCFLAGS) $(CCOUT)$@ $(filter %.c, $^)
36 LINK.o = $(CC) $(ALLCFLAGS) $(CLOUT)$@ $(filter %$(_O) %.a %.so %.lib %.dll, $^) $(LDFLAGS)
37
38 %$(_X):; $(LINK.o)
39 %$(_A):; $(STATICLIB.o)
40 %$(_SO):; $(DYNAMICLIB.o)
41 %$(_O):; $(COMPILE.c)
42