test: bf-bool0 bf-int0 bf-char0
	@./bf-bool0 100000000
	@./bf-bool1 100000000
	@./bf-char0 100000000
	@./bf-char1 100000000
	@./bf-int0 100000000
	@./bf-int1 100000000
	@./bf-bool0 100000000
	@./bf-bool1 100000000

bf-bool0: bitfields.cc Makefile
	g++ -DTYPE=bool -DBITS=0 -o ./bf-bool0 -O0 -Wall bitfields.cc -lrt
	g++ -DTYPE=bool -DBITS=1 -o ./bf-bool1 -O0 -Wall bitfields.cc -lrt

bf-int0: bitfields.cc Makefile
	g++ -DTYPE='uint8_t' -DBITS=0 -o ./bf-int0 -O0 -Wall bitfields.cc -lrt
	g++ -DTYPE='uint8_t' -DBITS=1 -o ./bf-int1 -O0 -Wall bitfields.cc -lrt

bf-char0: bitfields.cc Makefile
	g++ -DTYPE=uint32_t -DBITS=0 -o ./bf-char0 -O0 -Wall bitfields.cc -lrt
	g++ -DTYPE=uint32_t -DBITS=1 -o ./bf-char1 -O0 -Wall bitfields.cc -lrt


