1CFLAGS += -O2 -g -std=gnu89 -pthread -Wall -Wextra 2CFLAGS += -I../../../../usr/include/ 3LDFLAGS += -pthread 4 5.PHONY: all clean 6 7include ../lib.mk 8 9# lib.mk TEST_CUSTOM_PROGS var is for custom tests that need special 10# build rules. lib.mk will run and install them. 11 12TEST_CUSTOM_PROGS := $(OUTPUT)/sync_test 13all: $(TEST_CUSTOM_PROGS) 14 15OBJS = sync_test.o sync.o 16 17TESTS += sync_alloc.o 18TESTS += sync_fence.o 19TESTS += sync_merge.o 20TESTS += sync_wait.o 21TESTS += sync_stress_parallelism.o 22TESTS += sync_stress_consumer.o 23TESTS += sync_stress_merge.o 24 25OBJS := $(patsubst %,$(OUTPUT)/%,$(OBJS)) 26TESTS := $(patsubst %,$(OUTPUT)/%,$(TESTS)) 27 28$(TEST_CUSTOM_PROGS): $(TESTS) $(OBJS) 29 $(CC) -o $(TEST_CUSTOM_PROGS) $(OBJS) $(TESTS) $(CFLAGS) $(LDFLAGS) 30 31$(OBJS): $(OUTPUT)/%.o: %.c 32 $(CC) -c $^ -o $@ 33 34$(TESTS): $(OUTPUT)/%.o: %.c 35 $(CC) -c $^ -o $@ 36 37EXTRA_CLEAN := $(TEST_CUSTOM_PROGS) $(OBJS) $(TESTS) 38