1.PHONY: clean distribution
2
3include @BUILD_DIR@/build/ck.build
4
5TARGET_DIR=$(BUILD_DIR)/src
6SDIR=$(SRC_DIR)/src
7INCLUDE_DIR=$(SRC_DIR)/include
8
9OBJECTS=ck_barrier_centralized.o	\
10	ck_barrier_combining.o		\
11	ck_barrier_dissemination.o	\
12	ck_barrier_tournament.o		\
13	ck_barrier_mcs.o		\
14	ck_epoch.o			\
15	ck_ht.o				\
16	ck_hp.o				\
17	ck_hs.o				\
18	ck_rhs.o			\
19	ck_array.o
20
21all: $(ALL_LIBS)
22
23libck.so: $(OBJECTS)
24	$(LD) $(LDFLAGS) -o $(TARGET_DIR)/libck.so $(OBJECTS)
25
26libck.a: $(OBJECTS)
27	ar rcs $(TARGET_DIR)/libck.a $(OBJECTS)
28
29ck_array.o: $(INCLUDE_DIR)/ck_array.h $(SDIR)/ck_array.c
30	$(CC) $(CFLAGS) -c -o $(TARGET_DIR)/ck_array.o $(SDIR)/ck_array.c
31
32ck_epoch.o: $(INCLUDE_DIR)/ck_epoch.h $(SDIR)/ck_epoch.c $(INCLUDE_DIR)/ck_stack.h
33	$(CC) $(CFLAGS) -c -o $(TARGET_DIR)/ck_epoch.o $(SDIR)/ck_epoch.c
34
35ck_hs.o: $(INCLUDE_DIR)/ck_hs.h $(SDIR)/ck_hs.c
36	$(CC) $(CFLAGS) -c -o $(TARGET_DIR)/ck_hs.o $(SDIR)/ck_hs.c
37
38ck_rhs.o: $(INCLUDE_DIR)/ck_rhs.h $(SDIR)/ck_rhs.c
39	$(CC) $(CFLAGS) -c -o $(TARGET_DIR)/ck_rhs.o $(SDIR)/ck_rhs.c
40
41ck_ht.o: $(INCLUDE_DIR)/ck_ht.h $(SDIR)/ck_ht.c
42	$(CC) $(CFLAGS) -c -o $(TARGET_DIR)/ck_ht.o $(SDIR)/ck_ht.c
43
44ck_hp.o: $(SDIR)/ck_hp.c $(INCLUDE_DIR)/ck_hp.h $(INCLUDE_DIR)/ck_stack.h
45	$(CC) $(CFLAGS) -c -o $(TARGET_DIR)/ck_hp.o $(SDIR)/ck_hp.c
46
47ck_barrier_centralized.o: $(SDIR)/ck_barrier_centralized.c
48	$(CC) $(CFLAGS) -c -o $(TARGET_DIR)/ck_barrier_centralized.o $(SDIR)/ck_barrier_centralized.c
49
50ck_barrier_combining.o: $(SDIR)/ck_barrier_combining.c
51	$(CC) $(CFLAGS) -c -o $(TARGET_DIR)/ck_barrier_combining.o $(SDIR)/ck_barrier_combining.c
52
53ck_barrier_dissemination.o: $(SDIR)/ck_barrier_dissemination.c
54	$(CC) $(CFLAGS) -c -o $(TARGET_DIR)/ck_barrier_dissemination.o $(SDIR)/ck_barrier_dissemination.c
55
56ck_barrier_tournament.o: $(SDIR)/ck_barrier_tournament.c
57	$(CC) $(CFLAGS) -c -o $(TARGET_DIR)/ck_barrier_tournament.o $(SDIR)/ck_barrier_tournament.c
58
59ck_barrier_mcs.o: $(SDIR)/ck_barrier_mcs.c
60	$(CC) $(CFLAGS) -c -o $(TARGET_DIR)/ck_barrier_mcs.o $(SDIR)/ck_barrier_mcs.c
61
62clean:
63	rm -rf $(TARGET_DIR)/*.dSYM $(TARGET_DIR)/*~ $(TARGET_DIR)/*.o \
64		$(OBJECTS) $(TARGET_DIR)/libck.a $(TARGET_DIR)/libck.so
65