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