CC=gcc
CFLAGS=-g

UNAME_M := $(shell uname -m)

ifeq ($(filter x86_64 amd64,$(UNAME_M)),$(UNAME_M))
	CFLAGS += -mpopcnt
endif

all: naive optimized

naive: popcount2.c
	$(CC) $(CFLAGS) -O0 -o popcount2_naive popcount2.c

optimized: popcount2.c
	$(CC) $(CFLAGS) -O3 -o popcount2_optimized popcount2.c

clean:
	rm -f popcount2_naive popcount2_optimized
