182208160SEmilio LópezCFLAGS += -O2 -g -std=gnu89 -pthread -Wall -Wextra
282208160SEmilio LópezCFLAGS += -I../../../../usr/include/
382208160SEmilio LópezLDFLAGS += -pthread
482208160SEmilio López
5*b2fc6adeSShuah Khan.PHONY: all clean
682208160SEmilio López
782208160SEmilio Lópezinclude ../lib.mk
882208160SEmilio López
9*b2fc6adeSShuah Khan# lib.mk TEST_CUSTOM_PROGS var is for custom tests that need special
10*b2fc6adeSShuah Khan# build rules. lib.mk will run and install them.
11*b2fc6adeSShuah Khan
12*b2fc6adeSShuah KhanTEST_CUSTOM_PROGS := $(OUTPUT)/sync_test
13*b2fc6adeSShuah Khanall: $(TEST_CUSTOM_PROGS)
14*b2fc6adeSShuah Khan
1582208160SEmilio LópezOBJS = sync_test.o sync.o
1682208160SEmilio López
1782208160SEmilio LópezTESTS += sync_alloc.o
186a5b7d2cSEmilio LópezTESTS += sync_fence.o
191c5839c6SEmilio LópezTESTS += sync_merge.o
20fdba7cffSEmilio LópezTESTS += sync_wait.o
2154b519f3SEmilio LópezTESTS += sync_stress_parallelism.o
22c52dee50SEmilio LópezTESTS += sync_stress_consumer.o
23499a1d11SEmilio LópezTESTS += sync_stress_merge.o
2482208160SEmilio López
25*b2fc6adeSShuah KhanOBJS := $(patsubst %,$(OUTPUT)/%,$(OBJS))
26*b2fc6adeSShuah KhanTESTS := $(patsubst %,$(OUTPUT)/%,$(TESTS))
2782208160SEmilio López
28*b2fc6adeSShuah Khan$(TEST_CUSTOM_PROGS): $(TESTS) $(OBJS)
29*b2fc6adeSShuah Khan	$(CC) -o $(TEST_CUSTOM_PROGS) $(OBJS) $(TESTS) $(CFLAGS) $(LDFLAGS)
30*b2fc6adeSShuah Khan
31*b2fc6adeSShuah Khan$(OBJS): $(OUTPUT)/%.o: %.c
32*b2fc6adeSShuah Khan	$(CC) -c $^ -o $@
33*b2fc6adeSShuah Khan
34*b2fc6adeSShuah Khan$(TESTS): $(OUTPUT)/%.o: %.c
35*b2fc6adeSShuah Khan	$(CC) -c $^ -o $@
36*b2fc6adeSShuah Khan
37*b2fc6adeSShuah KhanEXTRA_CLEAN := $(TEST_CUSTOM_PROGS) $(OBJS) $(TESTS)
38