CC = icc CFLAGS += -I../ # optimize for SPEED # # -mcpu= can be pentium, pentiumpro (covers PII through PIII) or pentium4 # -ax? specifies make code specifically for ? but compatible with IA-32 # -x? specifies compile solely for ? [not specifically IA-32 compatible] # # where ? is # K - PIII # W - first P4 [Williamette] # N - P4 Northwood # P - P4 Prescott # B - Blend of P4 and PM [mobile] # # Default to just generic max opts CFLAGS += -O3 -xP -ip # default lib name (requires install with root) # LIBNAME=-ltommath # libname when you can't install the lib with install LIBNAME=../libtommath.a #provable primes pprime: pprime.o $(CC) pprime.o $(LIBNAME) -o pprime # portable [well requires clock()] tuning app tune: tune.o $(CC) tune.o $(LIBNAME) -o tune # same app but using RDTSC for higher precision [requires 80586+], coff based gcc installs [e.g. ming, cygwin, djgpp] tune86: tune.c nasm -f coff timer.asm $(CC) -DX86_TIMER $(CFLAGS) tune.c timer.o $(LIBNAME) -o tune86 # for cygwin tune86c: tune.c nasm -f gnuwin32 timer.asm $(CC) -DX86_TIMER $(CFLAGS) tune.c timer.o $(LIBNAME) -o tune86 #make tune86 for linux or any ELF format tune86l: tune.c nasm -f elf -DUSE_ELF timer.asm $(CC) -DX86_TIMER $(CFLAGS) tune.c timer.o $(LIBNAME) -o tune86l # spits out mersenne primes mersenne: mersenne.o $(CC) mersenne.o $(LIBNAME) -o mersenne # fines DR safe primes for the given config drprime: drprime.o $(CC) drprime.o $(LIBNAME) -o drprime # fines 2k safe primes for the given config 2kprime: 2kprime.o $(CC) 2kprime.o $(LIBNAME) -o 2kprime mont: mont.o $(CC) mont.o $(LIBNAME) -o mont clean: rm -f *.log *.o *.obj *.exe pprime tune mersenne drprime tune86 tune86l mont 2kprime pprime.dat *.il