ARG := CC ?= gcc CFLAGS ?= -O3 INCLUDES := -I ../randomDictBuilder -I ../../../programs -I ../../../lib/common -I ../../../lib -I ../../../lib/dictBuilder RANDOM_FILE := ../randomDictBuilder/random.c IO_FILE := ../randomDictBuilder/io.c all: run clean .PHONY: run run: benchmark echo "Benchmarking with $(ARG)" ./benchmark $(ARG) .PHONY: test test: benchmarkTest clean .PHONY: benchmarkTest benchmarkTest: benchmark test.sh sh test.sh benchmark: benchmark.o io.o random.o libzstd.a $(CC) $(CFLAGS) benchmark.o io.o random.o libzstd.a -o benchmark benchmark.o: benchmark.c $(CC) $(CFLAGS) $(INCLUDES) -c benchmark.c random.o: $(RANDOM_FILE) $(CC) $(CFLAGS) $(INCLUDES) -c $(RANDOM_FILE) io.o: $(IO_FILE) $(CC) $(CFLAGS) $(INCLUDES) -c $(IO_FILE) libzstd.a: $(MAKE) -C ../../../lib libzstd.a mv ../../../lib/libzstd.a . .PHONY: clean clean: rm -f *.o benchmark libzstd.a $(MAKE) -C ../../../lib clean echo "Cleaning is completed"