FLAGS = -O3 -nogc $(EXTRACFLAGS)
build: rijndaeltest-ref$(EXE) rijndael-bench$(EXE)
build-nocheck: rijndaeltest-ref-nochk$(EXE) rijndael-bench-nochk$(EXE)

OBJS = rijndaeltest-ref.o rijndael-api-ref.o rijndael-alg-ref.o
NC_OBJS = $(addprefix nc_,$(OBJS))
rijndaeltest-ref$(EXE): $(OBJS)
	cyclone $(FLAGS) -o $@ $^
rijndaeltest-ref-nochk$(EXE): $(NC_OBJS)
	cyclone $(FLAGS) -o $@ $^

OBJS_BENCH = rijndael-bench.o rijndael-api-ref.o rijndael-alg-ref.o
NC_OBJS_BENCH = $(addprefix nc_,$(OBJS_BENCH))
rijndael-bench$(EXE): $(OBJS_BENCH)
	cyclone $(FLAGS) -o $@ $^
rijndael-bench-nochk$(EXE): $(NC_OBJS_BENCH)
	cyclone $(FLAGS) -o $@ $^

clean:
	$(RM) ecb_vk.txt ecb_vt.txt ecb_tbl.txt ecb_iv.txt
	$(RM) ecb_e_m.txt ecb_d_m.txt cbc_e_m.txt cbc_d_m.txt
	$(RM) $(OBJS) $(NC_OBJS) $(OBJS_BENCH) $(NC_OBJS_BENCH)
	$(RM) rijndaeltest-ref rijndaeltest-ref.exe
	$(RM) rijndaeltest-ref-nochk rijndaeltest-ref-nochk.exe
	$(RM) rijndael-bench rijndael-bench.exe
	$(RM) rijndael-bench-nochk rijndael-bench-nochk.exe

nc_%.o: %.cyc
	cyclone --nochecks $(FLAGS) -c -fomit-frame-pointer $^ -o $@
%.o: %.cyc
	cyclone $(FLAGS) -c -fomit-frame-pointer $^ -o $@
