CC ?= gcc CFLAGS ?= -O3 -std=c11 -Wall -Wextra -Werror -fPIC -pthread LDFLAGS ?= -pthread LIBRARY := libh618_hub75.so BENCHMARK := hub75_benchmark UNIT_TEST := hub75_native_test SAFEOFF := hub75_safeoff .PHONY: all clean test all: $(LIBRARY) $(BENCHMARK) $(UNIT_TEST) $(SAFEOFF) $(LIBRARY): h618_hub75.c h618_hub75.h $(CC) $(CFLAGS) -shared h618_hub75.c -o $@ $(LDFLAGS) $(BENCHMARK): benchmark.c h618_hub75.c h618_hub75.h $(CC) $(CFLAGS) benchmark.c h618_hub75.c -o $@ $(LDFLAGS) $(UNIT_TEST): native_test.c h618_hub75.c h618_hub75.h $(CC) $(CFLAGS) native_test.c h618_hub75.c -o $@ $(LDFLAGS) $(SAFEOFF): safeoff.c h618_hub75.c h618_hub75.h $(CC) $(CFLAGS) safeoff.c h618_hub75.c -o $@ $(LDFLAGS) test: $(UNIT_TEST) $(SAFEOFF) ./$(UNIT_TEST) ./$(SAFEOFF) --fake clean: rm -f -- $(LIBRARY) $(BENCHMARK) $(UNIT_TEST) $(SAFEOFF)