68 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 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
 | 
