src = $(wildcard *.c) obj = $(src:.c=.o) LDFLAGS = -Wl,--gc-sections CFLAGS = -O3 -DUNROLL_TRANSPOSE -D_DEFAULT_SOURCE # CC=ccomp CC=/home/monniaux/work/Kalray/CompCert/ccomp -U __SIZEOF_INT128__ -U __SIZE_TYPE__ -D __SIZE_TYPE__='unsigned long long' name = bitslice $(name): _testbench $(obj) $(CC) $(LDFLAGS) -o $@ $(obj) $(LDFLAGS) test: _test $(obj) $(CC) $(LDFLAGS) -o $(name) $(obj) $(LDFLAGS) footprint: _footprint $(obj) $(CC) $(LDFLAGS) -o $(name) $(obj) $(LDFLAGS) _test: tests/tests.c $(eval obj+=$@.o) $(eval CFLAGS+= -DRUN_TESTS=1) $(CC) -c $(CFLAGS) -o $@.o $^ _footprint: tests/tests.c $(eval obj+=$@.o) $(eval CFLAGS+= -DRUN_TESTS=1 -DTEST_FOOTPRINT=1) $(CC) -c $(CFLAGS) -o $@.o $^ _testbench: testbench/app.c $(eval obj+=_testbench.o) $(eval LDFLAGS+= -lcrypto) $(CC) -c $(CFLAGS) -o $@.o $^ clean: rm -f $(obj) _test.o _footprint.o _testbench.o $(name)