OPT_FLAGS?= -march=native -flto \ -fgraphite -fopenmp -floop-parallelize-all -ftree-parallelize-loops=4 \ -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block \ -fno-stack-check -fno-strict-aliasing CFLAGS+= -Wall -pedantic --std=gnu11 -Wextra -Wstrict-aliasing CFLAGS+= $(OPT_FLAGS) CFLAGS+= -O3 -pipe LDFLAGS?= -O3 -flto INCLUDE?=../common/include CFLAGS+= -I$(INCLUDE) STRIP=strip .PHONY: all all: part1 part2 inpu%-sz.h: inpu% echo "#define input_sz (`head -n 1 $< | wc -m`)" > $@ inpu%.h: inpu% | inpu%-sz.h @rm -f $@ while read line; do \ echo "\"$$line\"," >> $@; \ done < $< part1: day11.c | input.h $(CC) $< $(CFLAGS) -o $@ $(LDFLAGS) $(STRIP) $@ part1-test: day11.c | input-test.h $(CC) $< -DTEST $(CFLAGS) -o $@ $(LDFLAGS) $(STRIP) $@ clean: rm -f input{,-sz}{,-test}.h rm -f part{1,2}{,-test}