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