1 CFLAGS = -g -Wall -I. -fPIC
3 PREFIX = $(DESTDIR)/usr/local
4 TESTS = $(patsubst %.c, %, $(wildcard t/*.c))
7 # -D_BSD_SOURCE for MAP_ANONYMOUS
8 CFLAGS += -ansi -D_BSD_SOURCE
13 $(CC) $(LDFLAGS) $(TARGET_ARCH) $(filter %.o %.a %.so, $^) $(LDLIBS) -o $@
16 $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $(filter %.c, $^) $(LDLIBS) -o $@
19 $(AR) rcs $@ $(filter %.o, $^)
22 $(CC) -shared $(LDFLAGS) $(TARGET_ARCH) $(filter %.o, $^) $(LDLIBS) -o $@
24 all: libtap.a libtap.so tap.pc tests
27 @echo generating tap.pc
28 @echo 'prefix='$(PREFIX) > tap.pc
29 @echo 'exec_prefix=$${prefix}' >> tap.pc
30 @echo 'libdir=$${prefix}/lib' >> tap.pc
31 @echo 'includedir=$${prefix}/include' >> tap.pc
33 @echo 'Name: libtap' >> tap.pc
34 @echo 'Description: Write tests in C' >> tap.pc
35 @echo 'Version: 0.1.0' >> tap.pc
36 @echo 'URL: https://github.com/zorgnax/libtap' >> tap.pc
37 @echo 'Libs: -L$${libdir} -ltap' >> tap.pc
38 @echo 'Cflags: -I$${includedir}' >> tap.pc
48 $(TESTS): %: %.o libtap.a
50 $(patsubst %, %.o, $(TESTS)): %.o: %.c tap.h
53 rm -rf *.o t/*.o tap.pc libtap.a libtap.so $(TESTS)
55 install: libtap.a tap.h libtap.so tap.pc
56 mkdir -p $(PREFIX)/lib $(PREFIX)/include $(PREFIX)/lib/pkgconfig
57 install -c libtap.a $(PREFIX)/lib
58 install -c libtap.so $(PREFIX)/lib
59 install -c tap.pc $(PREFIX)/lib/pkgconfig
60 install -c tap.h $(PREFIX)/include
63 rm $(PREFIX)/lib/libtap.a $(PREFIX)/lib/libtap.so $(PREFIX)/include/tap.h
72 .PHONY: all clean install uninstall dist check test tests