CXX=g++
C=gcc

uname_m := $(shell uname -m)
ifeq ($(uname_m),armv7l)
CFLAGS=-O3  -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -lrt
else
ifeq ($(uname_m),armv6l)
CFLAGS=-O3   -march=armv6 -mfpu=vfp -mfloat-abi=hard -lrt
else
CFLAGS=-O3 
endif
endif



%.o: %.c 
	$(C) -c -o $@ $< $(CFLAGS)

one_round_light.o: one_round_light.cpp 
	$(CXX) -c -o $@ $< $(CFLAGS)

one_round_light_v2.o: one_round_light_v2.cpp 
	$(CXX) -c -o $@ $< $(CFLAGS)

one_round_light_auth.o: one_round_light_auth.cpp 
	$(CXX) -c -o $@ $< $(CFLAGS)



one_round_light: pixmap_io.o one_round_light.o 
	$(CXX)  -o $@ $^ $(CFLAGS)

one_round_light_v2: pixmap_io.o one_round_light_v2.o 
	$(CXX)  -o $@ $^ $(CFLAGS)


one_round_light_auth: pixmap_io.o one_round_light_auth.o 
	$(CXX) -fopenmp -o $@ $^ $(CFLAGS)


clean:
	rm -rf *.o one_round_light one_round_light_v2 one_round_light_auth