1 # SPDX-License-Identifier: GPL-2.0 1 # SPDX-License-Identifier: GPL-2.0 2 CFLAGS += -O2 -g -std=gnu89 -pthread -Wall -We 2 CFLAGS += -O2 -g -std=gnu89 -pthread -Wall -Wextra 3 CFLAGS += $(KHDR_INCLUDES) 3 CFLAGS += $(KHDR_INCLUDES) 4 LDFLAGS += -pthread 4 LDFLAGS += -pthread 5 5 6 .PHONY: all clean 6 .PHONY: all clean 7 7 8 include ../lib.mk 8 include ../lib.mk 9 9 10 # lib.mk TEST_CUSTOM_PROGS var is for custom t 10 # lib.mk TEST_CUSTOM_PROGS var is for custom tests that need special 11 # build rules. lib.mk will run and install the 11 # build rules. lib.mk will run and install them. 12 12 13 TEST_CUSTOM_PROGS := $(OUTPUT)/sync_test 13 TEST_CUSTOM_PROGS := $(OUTPUT)/sync_test 14 all: $(TEST_CUSTOM_PROGS) 14 all: $(TEST_CUSTOM_PROGS) 15 15 16 OBJS = sync_test.o sync.o 16 OBJS = sync_test.o sync.o 17 17 18 TESTS += sync_alloc.o 18 TESTS += sync_alloc.o 19 TESTS += sync_fence.o 19 TESTS += sync_fence.o 20 TESTS += sync_merge.o 20 TESTS += sync_merge.o 21 TESTS += sync_wait.o 21 TESTS += sync_wait.o 22 TESTS += sync_stress_parallelism.o 22 TESTS += sync_stress_parallelism.o 23 TESTS += sync_stress_consumer.o 23 TESTS += sync_stress_consumer.o 24 TESTS += sync_stress_merge.o 24 TESTS += sync_stress_merge.o 25 25 26 OBJS := $(patsubst %,$(OUTPUT)/%,$(OBJS)) 26 OBJS := $(patsubst %,$(OUTPUT)/%,$(OBJS)) 27 TESTS := $(patsubst %,$(OUTPUT)/%,$(TESTS)) 27 TESTS := $(patsubst %,$(OUTPUT)/%,$(TESTS)) 28 28 29 $(TEST_CUSTOM_PROGS): $(TESTS) $(OBJS) 29 $(TEST_CUSTOM_PROGS): $(TESTS) $(OBJS) 30 $(CC) -o $(TEST_CUSTOM_PROGS) $(OBJS) 30 $(CC) -o $(TEST_CUSTOM_PROGS) $(OBJS) $(TESTS) $(CFLAGS) $(LDFLAGS) 31 31 32 $(OBJS): $(OUTPUT)/%.o: %.c 32 $(OBJS): $(OUTPUT)/%.o: %.c 33 $(CC) -c $^ -o $@ $(CFLAGS) 33 $(CC) -c $^ -o $@ $(CFLAGS) 34 34 35 $(TESTS): $(OUTPUT)/%.o: %.c 35 $(TESTS): $(OUTPUT)/%.o: %.c 36 $(CC) -c $^ -o $@ 36 $(CC) -c $^ -o $@ 37 37 38 EXTRA_CLEAN := $(TEST_CUSTOM_PROGS) $(OBJS) $( 38 EXTRA_CLEAN := $(TEST_CUSTOM_PROGS) $(OBJS) $(TESTS)
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.