CC=gcc
CFLAGS=-c -Wall -fopenmp -Wno-unused-function -O3 -std=c99 -g0 -march=native -pipe -D_FILE_OFFSET_BITS=64 -m64 -fwhole-program -fprefetch-loop-arrays -funsafe-loop-optimizations -Wunsafe-loop-optimizations -fselective-scheduling -fselective-scheduling2 -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops -fgcse-sm -fgcse-lm -fgcse-las -fmodulo-sched -fgcse-after-reload -fsee -DLIBDIVIDE_USE_SSE2 -DLIBDIVIDE_USE_SSE4_1
ASMFLAGS=$(CFLAGS) -S -masm=intel -fverbose-asm 
LDFLAGS=-fopenmp -lgmp -lpthread
SOURCES=check_immortal.c
OBJECTS=$(SOURCES:.c=.o)
EXECUTABLE=check_immortal

all:	$(SOURCES) $(EXECUTABLE)

$(EXECUTABLE):	$(OBJECTS)
	$(CC) $(LDFLAGS) $(OBJECTS) -o $@
	
.c.o:
	$(CC) $(ASMFLAGS) $< -o $(@:.o=.asm)
	$(CC) $(CFLAGS) $< -o $@

clean:
	rm -f *.o
	rm -f *.asm

