51 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| CFLAGS += -Wall -W -Wshadow -O3 -fomit-frame-pointer -funroll-loops -I../
 | |
| 
 | |
| # 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 \
 | |
|          *.da *.dyn *.dpi *~
 |