4 CFLAGS = -Iinclude -g $(EXTRA_CFLAGS)
6 MAKEFILES = Makefile build/$(VARIANT)/extra.mk config.mk
8 OBJS = build/$(VARIANT)/common.o \
9 build/$(VARIANT)/vector.o \
10 build/$(VARIANT)/list.o \
11 build/$(VARIANT)/hashmap.o \
12 build/$(VARIANT)/treemap.o
14 OBJS_PIC = build/$(VARIANT)/pic/common.o \
15 build/$(VARIANT)/pic/vector.o \
16 build/$(VARIANT)/pic/list.o \
17 build/$(VARIANT)/pic/hashmap.o \
18 build/$(VARIANT)/pic/treemap.o
23 include build/$(VARIANT)/extra.mk
25 lib : build/$(VARIANT)/libderp.${SO} build/$(VARIANT)/libderp.a
27 build/$(VARIANT)/libderp.a : $(OBJS)
30 build/$(VARIANT)/libderp.${SO} : $(OBJS_PIC) VERSION
31 $(CC) $(CFLAGS) -fPIC ${SOFLAGS} $(OBJS_PIC) -o $@
33 tests : build/$(VARIANT)/test/t_vector build/$(VARIANT)/test/t_list build/$(VARIANT)/test/t_hashmap build/$(VARIANT)/test/t_treemap
35 build/$(VARIANT)/common.o : src/common.c include/derp/common.h
36 $(CC) $(CFLAGS) -o $@ -c src/common.c
37 build/$(VARIANT)/pic/common.o : src/common.c include/derp/common.h
38 $(CC) $(CFLAGS) -fPIC -o $@ -c src/common.c
40 build/$(VARIANT)/vector.o : src/vector.c include/derp/vector.h include/derp/common.h $(MAKEFILES)
41 $(CC) $(CFLAGS) -o $@ -c src/vector.c
42 build/$(VARIANT)/pic/vector.o : src/vector.c include/derp/vector.h include/derp/common.h $(MAKEFILES)
43 $(CC) $(CFLAGS) -fPIC -o $@ -c src/vector.c
45 build/$(VARIANT)/list.o : src/list.c include/derp/list.h include/derp/common.h $(MAKEFILES)
46 $(CC) $(CFLAGS) -o $@ -c src/list.c
47 build/$(VARIANT)/pic/list.o : src/list.c include/derp/list.h include/derp/common.h $(MAKEFILES)
48 $(CC) $(CFLAGS) -fPIC -o $@ -c src/list.c
50 build/$(VARIANT)/hashmap.o : src/hashmap.c include/derp/hashmap.h include/derp/list.h include/derp/common.h $(MAKEFILES)
51 $(CC) $(CFLAGS) -o $@ -c src/hashmap.c
52 build/$(VARIANT)/pic/hashmap.o : src/hashmap.c include/derp/hashmap.h include/derp/list.h include/derp/common.h $(MAKEFILES)
53 $(CC) $(CFLAGS) -fPIC -o $@ -c src/hashmap.c
55 build/$(VARIANT)/treemap.o : src/treemap.c include/derp/treemap.h include/derp/list.h include/derp/common.h $(MAKEFILES)
56 $(CC) $(CFLAGS) -o $@ -c src/treemap.c
57 build/$(VARIANT)/pic/treemap.o : src/treemap.c include/derp/treemap.h include/derp/list.h include/derp/common.h $(MAKEFILES)
58 $(CC) $(CFLAGS) -fPIC -o $@ -c src/treemap.c
60 build/$(VARIANT)/test/t_vector : build/$(VARIANT)/common.o build/$(VARIANT)/vector.o test/t_vector.c
61 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ build/$(VARIANT)/common.o build/$(VARIANT)/vector.o test/t_vector.c $(LDLIBS)
63 build/$(VARIANT)/test/t_list : build/$(VARIANT)/common.o build/$(VARIANT)/list.o test/t_list.c
64 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ build/$(VARIANT)/common.o build/$(VARIANT)/list.o test/t_list.c $(LDLIBS)
66 build/$(VARIANT)/test/t_hashmap : build/$(VARIANT)/common.o build/$(VARIANT)/hashmap.o build/$(VARIANT)/list.o test/t_hashmap.c
67 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ build/$(VARIANT)/common.o build/$(VARIANT)/hashmap.o build/$(VARIANT)/list.o test/t_hashmap.c $(LDLIBS)
69 build/$(VARIANT)/test/t_treemap : build/$(VARIANT)/common.o build/$(VARIANT)/treemap.o build/$(VARIANT)/list.o test/t_treemap.c
70 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ build/$(VARIANT)/common.o build/$(VARIANT)/treemap.o build/$(VARIANT)/list.o test/t_treemap.c $(LDLIBS)