cosmetics in makefile.unix|mingw|msvc
This commit is contained in:
parent
0cd9e94736
commit
2b9dbb4ff7
@ -9,7 +9,7 @@
|
|||||||
# test.exe
|
# test.exe
|
||||||
# gmake -f makefile.mingw DESTDIR=c:\devel\libtom install
|
# gmake -f makefile.mingw DESTDIR=c:\devel\libtom install
|
||||||
#
|
#
|
||||||
#OR:
|
#Or:
|
||||||
#
|
#
|
||||||
# gmake -f makefile.mingw CFLAGS="-O3 -DUSE_LTM -DLTM_DESC -Ic:/path/to/libtommath" EXTRALIBS="-Lc:/path/to/libtommath -ltommath" all
|
# gmake -f makefile.mingw CFLAGS="-O3 -DUSE_LTM -DLTM_DESC -Ic:/path/to/libtommath" EXTRALIBS="-Lc:/path/to/libtommath -ltommath" all
|
||||||
#
|
#
|
||||||
@ -27,6 +27,7 @@ EXTRALIBS = -L../libtommath -ltommath
|
|||||||
#Compilation flags
|
#Compilation flags
|
||||||
LTC_CFLAGS = $(CFLAGS) -Isrc/headers -Itestprof -DLTC_SOURCE
|
LTC_CFLAGS = $(CFLAGS) -Isrc/headers -Itestprof -DLTC_SOURCE
|
||||||
LTC_LDFLAGS = $(LDFLAGS) $(EXTRALIBS)
|
LTC_LDFLAGS = $(LDFLAGS) $(EXTRALIBS)
|
||||||
|
VERSION=1.17
|
||||||
|
|
||||||
#Libraries to be created
|
#Libraries to be created
|
||||||
LIBMAIN_S =libtomcrypt.a
|
LIBMAIN_S =libtomcrypt.a
|
||||||
@ -201,9 +202,6 @@ src/headers/tomcrypt_mac.h src/headers/tomcrypt_macros.h src/headers/tomcrypt_ma
|
|||||||
src/headers/tomcrypt_misc.h src/headers/tomcrypt_pk.h src/headers/tomcrypt_pkcs.h \
|
src/headers/tomcrypt_misc.h src/headers/tomcrypt_pk.h src/headers/tomcrypt_pkcs.h \
|
||||||
src/headers/tomcrypt_prng.h
|
src/headers/tomcrypt_prng.h
|
||||||
|
|
||||||
.c.o:
|
|
||||||
$(CC) $(LTC_CFLAGS) -c $< -o $@
|
|
||||||
|
|
||||||
#The default rule for make builds the libtomcrypt.a library (static)
|
#The default rule for make builds the libtomcrypt.a library (static)
|
||||||
default: $(LIBMAIN_S)
|
default: $(LIBMAIN_S)
|
||||||
|
|
||||||
@ -224,6 +222,9 @@ src/hashes/sha2/sha256.o: src/hashes/sha2/sha256.c src/hashes/sha2/sha224.c
|
|||||||
$(OBJECTS): $(HEADERS)
|
$(OBJECTS): $(HEADERS)
|
||||||
$(TOBJECTS): $(HEADERS) testprof/tomcrypt_test.h
|
$(TOBJECTS): $(HEADERS) testprof/tomcrypt_test.h
|
||||||
|
|
||||||
|
.c.o:
|
||||||
|
$(CC) $(LTC_CFLAGS) -c $< -o $@
|
||||||
|
|
||||||
#Create libtomcrypt_prof.a
|
#Create libtomcrypt_prof.a
|
||||||
$(LIBTEST_S): $(TOBJECTS)
|
$(LIBTEST_S): $(TOBJECTS)
|
||||||
$(AR) $(ARFLAGS) $@ $(TOBJECTS)
|
$(AR) $(ARFLAGS) $@ $(TOBJECTS)
|
||||||
@ -253,7 +254,7 @@ tv_gen.exe: demos/tv_gen.o $(LIBMAIN_S)
|
|||||||
timing.exe: demos/timing.o $(LIBTEST_S) $(LIBMAIN_S)
|
timing.exe: demos/timing.o $(LIBTEST_S) $(LIBMAIN_S)
|
||||||
$(CC) $? $(LTC_LDFLAGS) -o $@
|
$(CC) $? $(LTC_LDFLAGS) -o $@
|
||||||
@echo NOTICE: start the tests by: timing.exe
|
@echo NOTICE: start the tests by: timing.exe
|
||||||
test.exe: demos/test.o $(LIBMAIN_S) $(LIBTEST_S)
|
test.exe: demos/test.o $(LIBTEST_S) $(LIBMAIN_S)
|
||||||
$(CC) $? $(LTC_LDFLAGS) -o $@
|
$(CC) $? $(LTC_LDFLAGS) -o $@
|
||||||
@echo NOTICE: start the tests by: test.exe
|
@echo NOTICE: start the tests by: test.exe
|
||||||
|
|
||||||
@ -262,8 +263,10 @@ all: $(LIBMAIN_S) $(LIBMAIN_I) $(LIBMAIN_D) $(LIBTEST_S) hashsum.exe ltcrypt.exe
|
|||||||
test: test.exe
|
test: test.exe
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
@cmd /c del /Q *_tv.txt 2>nul
|
||||||
@cmd /c del /Q /S *.o *.a *.exe *.dll 2>nul
|
@cmd /c del /Q /S *.o *.a *.exe *.dll 2>nul
|
||||||
|
|
||||||
|
#Install the library + headers
|
||||||
install: $(LIBMAIN_S) $(LIBMAIN_I) $(LIBMAIN_D) $(LIBTEST_S)
|
install: $(LIBMAIN_S) $(LIBMAIN_I) $(LIBMAIN_D) $(LIBTEST_S)
|
||||||
cmd /c if not exist "$(DESTDIR)\bin" mkdir "$(DESTDIR)\bin"
|
cmd /c if not exist "$(DESTDIR)\bin" mkdir "$(DESTDIR)\bin"
|
||||||
cmd /c if not exist "$(DESTDIR)\lib" mkdir "$(DESTDIR)\lib"
|
cmd /c if not exist "$(DESTDIR)\lib" mkdir "$(DESTDIR)\lib"
|
||||||
@ -272,3 +275,13 @@ install: $(LIBMAIN_S) $(LIBMAIN_I) $(LIBMAIN_D) $(LIBTEST_S)
|
|||||||
copy /Y $(LIBMAIN_I) "$(DESTDIR)\lib"
|
copy /Y $(LIBMAIN_I) "$(DESTDIR)\lib"
|
||||||
copy /Y $(LIBMAIN_D) "$(DESTDIR)\bin"
|
copy /Y $(LIBMAIN_D) "$(DESTDIR)\bin"
|
||||||
copy /Y src\headers\tomcrypt*.h "$(DESTDIR)\include"
|
copy /Y src\headers\tomcrypt*.h "$(DESTDIR)\include"
|
||||||
|
|
||||||
|
#Install useful tools
|
||||||
|
install_bins: hashsum
|
||||||
|
cmd /c if not exist "$(DESTDIR)\bin" mkdir "$(DESTDIR)\bin"
|
||||||
|
copy /Y hashsum.exe "$(DESTDIR)\bin"
|
||||||
|
|
||||||
|
#Install documentation
|
||||||
|
install_docs: doc/crypt.pdf
|
||||||
|
cmd /c if not exist "$(DESTDIR)\doc" mkdir "$(DESTDIR)\doc"
|
||||||
|
copy /Y doc\crypt.pdf "$(DESTDIR)\doc"
|
||||||
|
@ -9,9 +9,9 @@
|
|||||||
# test.exe
|
# test.exe
|
||||||
# nmake -f makefile.msvc DESTDIR=c:\devel\libtom install
|
# nmake -f makefile.msvc DESTDIR=c:\devel\libtom install
|
||||||
#
|
#
|
||||||
#OR:
|
#Or:
|
||||||
#
|
#
|
||||||
# nmake -f makefile.msvc CFLAGS="/DUSE_LTM /DLTM_DESC /Ic:\path\to\libtommath" EXTRALIBS="c:\path\to\libtommath\tommath.lib" all
|
# nmake -f makefile.msvc CFLAGS="/DUSE_LTM /DLTM_DESC /Ic:\path\to\libtommath" EXTRALIBS=c:\path\to\libtommath\tommath.lib all
|
||||||
#
|
#
|
||||||
|
|
||||||
#The following can be overridden from command line e.g. make -f makefile.msvc CC=gcc ARFLAGS=rcs
|
#The following can be overridden from command line e.g. make -f makefile.msvc CC=gcc ARFLAGS=rcs
|
||||||
@ -20,10 +20,11 @@ CFLAGS = /Ox /DUSE_LTM /DLTM_DESC /I../libtommath
|
|||||||
EXTRALIBS = ../libtommath/tommath.lib
|
EXTRALIBS = ../libtommath/tommath.lib
|
||||||
|
|
||||||
#Compilation flags
|
#Compilation flags
|
||||||
LTC_CFLAGS = $(CFLAGS) /nologo /Isrc/headers/ /Itestprof/ /D_CRT_SECURE_NO_WARNINGS /DLTC_SOURCE /W3
|
LTC_CFLAGS = $(CFLAGS) /nologo /Isrc/headers/ /Itestprof/ /D_CRT_SECURE_NO_WARNINGS /D_CRT_NONSTDC_NO_DEPRECATE /DLTC_SOURCE /W3
|
||||||
LTC_LDFLAGS = advapi32.lib $(EXTRALIBS)
|
LTC_LDFLAGS = advapi32.lib $(EXTRALIBS)
|
||||||
|
VERSION=1.17
|
||||||
|
|
||||||
#Libraries to be created
|
#Libraries to be created (this makefile builds only static libraries)
|
||||||
LIBMAIN_S =tomcrypt.lib
|
LIBMAIN_S =tomcrypt.lib
|
||||||
LIBTEST_S =tomcrypt_prof.lib
|
LIBTEST_S =tomcrypt_prof.lib
|
||||||
|
|
||||||
@ -194,51 +195,75 @@ src/headers/tomcrypt_mac.h src/headers/tomcrypt_macros.h src/headers/tomcrypt_ma
|
|||||||
src/headers/tomcrypt_misc.h src/headers/tomcrypt_pk.h src/headers/tomcrypt_pkcs.h \
|
src/headers/tomcrypt_misc.h src/headers/tomcrypt_pk.h src/headers/tomcrypt_pkcs.h \
|
||||||
src/headers/tomcrypt_prng.h
|
src/headers/tomcrypt_prng.h
|
||||||
|
|
||||||
.c.obj:
|
|
||||||
$(CC) $(LTC_CFLAGS) /c $< /Fo$@
|
|
||||||
|
|
||||||
#The default rule for make builds the tomcrypt.lib library (static)
|
#The default rule for make builds the tomcrypt.lib library (static)
|
||||||
default: $(LIBMAIN_S)
|
default: $(LIBMAIN_S)
|
||||||
|
|
||||||
#ciphers come in two flavours... enc+dec and enc
|
#SPECIAL: AES comes in two flavours - enc+dec and enc-only
|
||||||
src/ciphers/aes/aes_enc.obj: src/ciphers/aes/aes.c src/ciphers/aes/aes_tab.c
|
src/ciphers/aes/aes_enc.obj: src/ciphers/aes/aes.c src/ciphers/aes/aes_tab.c
|
||||||
$(CC) $(LTC_CFLAGS) /DENCRYPT_ONLY /c src/ciphers/aes/aes.c /Fosrc/ciphers/aes/aes_enc.obj
|
$(CC) $(LTC_CFLAGS) /DENCRYPT_ONLY /c src/ciphers/aes/aes.c /Fosrc/ciphers/aes/aes_enc.obj
|
||||||
|
|
||||||
$(LIBMAIN_S): $(OBJECTS)
|
#SPECIAL: these are the rules to make certain object files
|
||||||
lib /out:$(LIBMAIN_S) $(OBJECTS)
|
src/ciphers/aes/aes.obj: src/ciphers/aes/aes.c src/ciphers/aes/aes_tab.c
|
||||||
|
src/ciphers/twofish/twofish.obj: src/ciphers/twofish/twofish.c src/ciphers/twofish/twofish_tab.c
|
||||||
|
src/hashes/whirl/whirl.obj: src/hashes/whirl/whirl.c src/hashes/whirl/whirltab.c
|
||||||
|
src/hashes/sha2/sha512.obj: src/hashes/sha2/sha512.c src/hashes/sha2/sha384.c
|
||||||
|
src/hashes/sha2/sha512_224.obj: src/hashes/sha2/sha512.c src/hashes/sha2/sha512_224.c
|
||||||
|
src/hashes/sha2/sha512_256.obj: src/hashes/sha2/sha512.c src/hashes/sha2/sha512_256.c
|
||||||
|
src/hashes/sha2/sha256.obj: src/hashes/sha2/sha256.c src/hashes/sha2/sha224.c
|
||||||
|
|
||||||
|
#Dependencies on *.h
|
||||||
|
$(OBJECTS): $(HEADERS)
|
||||||
|
$(TOBJECTS): $(HEADERS) testprof/tomcrypt_test.h
|
||||||
|
|
||||||
|
.c.obj:
|
||||||
|
$(CC) $(LTC_CFLAGS) /c $< /Fo$@
|
||||||
|
|
||||||
|
#Create tomcrypt_prof.lib
|
||||||
$(LIBTEST_S): $(TOBJECTS)
|
$(LIBTEST_S): $(TOBJECTS)
|
||||||
lib /out:$(LIBTEST_S) $(TOBJECTS)
|
lib /out:$(LIBTEST_S) $(TOBJECTS)
|
||||||
|
|
||||||
|
#Create tomcrypt.lib
|
||||||
|
$(LIBMAIN_S): $(OBJECTS)
|
||||||
|
lib /out:$(LIBMAIN_S) $(OBJECTS)
|
||||||
|
|
||||||
|
#Demo tools/utilities
|
||||||
|
hashsum.exe: demos/hashsum.c $(LIBMAIN_S)
|
||||||
|
cl $(LTC_CFLAGS) demos/hashsum.c $(LIBMAIN_S) $(LTC_LDFLAGS)
|
||||||
|
ltcrypt.exe: demos/ltcrypt.c $(LIBMAIN_S)
|
||||||
|
cl $(LTC_CFLAGS) demos/ltcrypt.c $(LIBMAIN_S) $(LTC_LDFLAGS)
|
||||||
|
small.exe: demos/small.c $(LIBMAIN_S)
|
||||||
|
cl $(LTC_CFLAGS) demos/small.c $(LIBMAIN_S) $(LTC_LDFLAGS)
|
||||||
tv_gen.exe: demos/tv_gen.c $(LIBMAIN_S)
|
tv_gen.exe: demos/tv_gen.c $(LIBMAIN_S)
|
||||||
cl $(LTC_CFLAGS) demos/tv_gen.c $(LIBMAIN_S) $(LTC_LDFLAGS)
|
cl $(LTC_CFLAGS) demos/tv_gen.c $(LIBMAIN_S) $(LTC_LDFLAGS)
|
||||||
|
|
||||||
hashsum.exe: demos/hashsum.c $(LIBMAIN_S)
|
#Tests + timing tests
|
||||||
cl $(LTC_CFLAGS) demos/hashsum.c $(LIBMAIN_S) $(LTC_LDFLAGS)
|
|
||||||
|
|
||||||
ltcrypt.exe: demos/ltcrypt.c $(LIBMAIN_S)
|
|
||||||
cl $(LTC_CFLAGS) demos/ltcrypt.c $(LIBMAIN_S) $(LTC_LDFLAGS)
|
|
||||||
|
|
||||||
small.exe: demos/small.c $(LIBMAIN_S)
|
|
||||||
cl $(LTC_CFLAGS) demos/small.c $(LIBMAIN_S) $(LTC_LDFLAGS)
|
|
||||||
|
|
||||||
test.exe: demos/test.c $(LIBMAIN_S) $(LIBTEST_S)
|
|
||||||
cl $(LTC_CFLAGS) demos/test.c $(LIBTEST_S) $(LIBMAIN_S) $(LTC_LDFLAGS)
|
|
||||||
|
|
||||||
timing.exe: demos/timing.c $(LIBMAIN_S) $(LIBTEST_S)
|
timing.exe: demos/timing.c $(LIBMAIN_S) $(LIBTEST_S)
|
||||||
cl $(LTC_CFLAGS) demos/timing.c $(LIBTEST_S) $(LIBMAIN_S) $(LTC_LDFLAGS)
|
cl $(LTC_CFLAGS) demos/timing.c $(LIBTEST_S) $(LIBMAIN_S) $(LTC_LDFLAGS)
|
||||||
|
test.exe: demos/test.c $(LIBMAIN_S) $(LIBTEST_S)
|
||||||
|
cl $(LTC_CFLAGS) demos/test.c $(LIBTEST_S) $(LIBMAIN_S) $(LTC_LDFLAGS)
|
||||||
|
|
||||||
all: $(LIBMAIN_S) $(LIBTEST_S) hashsum.exe ltcrypt.exe small.exe tv_gen.exe timing.exe test.exe
|
all: $(LIBMAIN_S) $(LIBTEST_S) hashsum.exe ltcrypt.exe small.exe tv_gen.exe timing.exe test.exe
|
||||||
|
|
||||||
test: test.exe
|
test: test.exe
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
@cmd /c del /Q *_tv.txt 2>nul
|
||||||
@cmd /c del /Q /S *.OBJ *.LIB *.EXE *.DLL 2>nul
|
@cmd /c del /Q /S *.OBJ *.LIB *.EXE *.DLL 2>nul
|
||||||
|
|
||||||
|
#Install the library + headers
|
||||||
install: $(LIBMAIN_S) $(LIBTEST_S)
|
install: $(LIBMAIN_S) $(LIBTEST_S)
|
||||||
cmd /c if not exist "$(DESTDIR)\bin" mkdir "$(DESTDIR)\bin"
|
cmd /c if not exist "$(DESTDIR)\bin" mkdir "$(DESTDIR)\bin"
|
||||||
cmd /c if not exist "$(DESTDIR)\lib" mkdir "$(DESTDIR)\lib"
|
cmd /c if not exist "$(DESTDIR)\lib" mkdir "$(DESTDIR)\lib"
|
||||||
cmd /c if not exist "$(DESTDIR)\include" mkdir "$(DESTDIR)\include"
|
cmd /c if not exist "$(DESTDIR)\include" mkdir "$(DESTDIR)\include"
|
||||||
copy /Y hashsum.exe "$(DESTDIR)\bin"
|
|
||||||
copy /Y $(LIBMAIN_S) "$(DESTDIR)\lib"
|
copy /Y $(LIBMAIN_S) "$(DESTDIR)\lib"
|
||||||
copy /Y src\headers\tomcrypt*.h "$(DESTDIR)\include"
|
copy /Y src\headers\tomcrypt*.h "$(DESTDIR)\include"
|
||||||
|
|
||||||
|
#Install useful tools
|
||||||
|
install_bins: hashsum
|
||||||
|
cmd /c if not exist "$(DESTDIR)\bin" mkdir "$(DESTDIR)\bin"
|
||||||
|
copy /Y hashsum.exe "$(DESTDIR)\bin"
|
||||||
|
|
||||||
|
#Install documentation
|
||||||
|
install_docs: doc/crypt.pdf
|
||||||
|
cmd /c if not exist "$(DESTDIR)\doc" mkdir "$(DESTDIR)\doc"
|
||||||
|
copy /Y doc\crypt.pdf "$(DESTDIR)\doc"
|
||||||
|
@ -208,7 +208,7 @@ src/headers/tomcrypt_misc.h src/headers/tomcrypt_pk.h src/headers/tomcrypt_pkcs.
|
|||||||
src/headers/tomcrypt_prng.h
|
src/headers/tomcrypt_prng.h
|
||||||
|
|
||||||
#The default rule for make builds the libtomcrypt.a library (static)
|
#The default rule for make builds the libtomcrypt.a library (static)
|
||||||
default: library
|
default: $(LIBMAIN_S)
|
||||||
|
|
||||||
#SPECIAL: AES comes in two flavours - enc+dec and enc-only
|
#SPECIAL: AES comes in two flavours - enc+dec and enc-only
|
||||||
src/ciphers/aes/aes_enc.o: src/ciphers/aes/aes.c src/ciphers/aes/aes_tab.c
|
src/ciphers/aes/aes_enc.o: src/ciphers/aes/aes.c src/ciphers/aes/aes_tab.c
|
||||||
@ -223,9 +223,6 @@ src/hashes/sha2/sha512_224.o: src/hashes/sha2/sha512.c src/hashes/sha2/sha512_22
|
|||||||
src/hashes/sha2/sha512_256.o: src/hashes/sha2/sha512.c src/hashes/sha2/sha512_256.c
|
src/hashes/sha2/sha512_256.o: src/hashes/sha2/sha512.c src/hashes/sha2/sha512_256.c
|
||||||
src/hashes/sha2/sha256.o: src/hashes/sha2/sha256.c src/hashes/sha2/sha224.c
|
src/hashes/sha2/sha256.o: src/hashes/sha2/sha256.c src/hashes/sha2/sha224.c
|
||||||
|
|
||||||
#This rule makes the libtomcrypt library.
|
|
||||||
library: $(LIBMAIN_S)
|
|
||||||
|
|
||||||
#Dependencies on *.h
|
#Dependencies on *.h
|
||||||
$(OBJECTS): $(HEADERS)
|
$(OBJECTS): $(HEADERS)
|
||||||
$(TOBJECTS): $(HEADERS) testprof/tomcrypt_test.h
|
$(TOBJECTS): $(HEADERS) testprof/tomcrypt_test.h
|
||||||
@ -267,14 +264,25 @@ all: $(LIBMAIN_S) $(LIBTEST_S) hashsum ltcrypt small tv_gen timing test
|
|||||||
|
|
||||||
#NOTE: this makefile works also on cygwin, thus we need to delete *.exe
|
#NOTE: this makefile works also on cygwin, thus we need to delete *.exe
|
||||||
clean:
|
clean:
|
||||||
-@rm -f $(OBJECTS)
|
-@rm -f $(OBJECTS) $(TOBJECTS)
|
||||||
-@rm -f $(LIBMAIN_S) $(LIBTEST_S)
|
-@rm -f $(LIBMAIN_S) $(LIBTEST_S)
|
||||||
-@rm -f testprof/*.o demos/*.o
|
-@rm -f demos/*.o *_tv.txt
|
||||||
-@rm -f test tv_gen hashsum crypt small timing
|
-@rm -f test tv_gen hashsum crypt small timing
|
||||||
-@rm -f test.exe tv_gen.exe hashsum.exe crypt.exe small.exe timing.exe
|
-@rm -f test.exe tv_gen.exe hashsum.exe crypt.exe small.exe timing.exe
|
||||||
|
|
||||||
|
#Install the library + headers
|
||||||
install: $(LIBMAIN_S) $(HEADERS)
|
install: $(LIBMAIN_S) $(HEADERS)
|
||||||
@mkdir -p $(DESTDIR)/include $(DESTDIR)/lib/pkgconfig
|
@mkdir -p $(DESTDIR)/include $(DESTDIR)/lib/pkgconfig
|
||||||
@cp $(LIBMAIN_S) $(DESTDIR)/lib/
|
@cp $(LIBMAIN_S) $(DESTDIR)/lib/
|
||||||
@cp $(HEADERS) $(DESTDIR)/include/
|
@cp $(HEADERS) $(DESTDIR)/include/
|
||||||
@sed -e 's,^prefix=.*,prefix=$(DESTDIR),' -e 's,^Version:.*,Version: $(VERSION),' libtomcrypt.pc.in > $(DESTDIR)/lib/pkgconfig/libtomcrypt.pc
|
@sed -e 's,^prefix=.*,prefix=$(DESTDIR),' -e 's,^Version:.*,Version: $(VERSION),' libtomcrypt.pc.in > $(DESTDIR)/lib/pkgconfig/libtomcrypt.pc
|
||||||
|
|
||||||
|
#Install useful tools
|
||||||
|
install_bins: hashsum
|
||||||
|
@mkdir -p $(DESTDIR)/bin
|
||||||
|
@cp hashsum $(DESTDIR)/bin/
|
||||||
|
|
||||||
|
#Install documentation
|
||||||
|
install_docs: doc/crypt.pdf
|
||||||
|
@mkdir -p $(DESTDIR)/share/doc/libtomcrypt/pdf
|
||||||
|
@cp doc/crypt.pdf $(DESTDIR)/share/doc/libtomcrypt/pdf/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user