when building packages (e.g. for openSUSE Linux) (random) filesystem order of input files influences ordering of functions in the output, thus without the patch, builds (in disposable VMs) would differ. See https://reproducible-builds.org/ for why this matters.
		
			
				
	
	
		
			74 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # MAKEFILE for linux GCC
 | |
| #
 | |
| # This makefile produces a shared object and requires libtool to be installed.
 | |
| #
 | |
| # Thanks to Zed Shaw for helping debug this on BSD/OSX.
 | |
| # Tom St Denis
 | |
| #
 | |
| #  (GNU make only)
 | |
| 
 | |
| ifndef LT
 | |
|   ifeq ($(PLATFORM), Darwin)
 | |
|     LT:=glibtool
 | |
|   else
 | |
|     LT:=libtool
 | |
|   endif
 | |
| endif
 | |
| LTCOMPILE = $(LT) --mode=compile --tag=CC $(CC)
 | |
| INSTALL_CMD = $(LT) --mode=install install
 | |
| 
 | |
| #Output filenames for various targets.
 | |
| ifndef LIBTEST
 | |
|    LIBTEST=libtomcrypt_prof.la
 | |
| endif
 | |
| ifndef LIBNAME
 | |
|    LIBNAME=libtomcrypt.la
 | |
| endif
 | |
| 
 | |
| 
 | |
| include makefile_include.mk
 | |
| 
 | |
| 
 | |
| #ciphers come in two flavours... enc+dec and enc
 | |
| src/ciphers/aes/aes_enc.o: src/ciphers/aes/aes.c src/ciphers/aes/aes_tab.c
 | |
| 	$(LTCOMPILE) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -DENCRYPT_ONLY -c src/ciphers/aes/aes.c -o src/ciphers/aes/aes_enc.o
 | |
| 
 | |
| .c.o:
 | |
| 	$(LTCOMPILE) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ -c $<
 | |
| 
 | |
| $(LIBNAME): $(OBJECTS)
 | |
| 	$(LT) --mode=link --tag=CC $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) `find ./src -type f -name "*.lo" | LC_ALL=C sort` $(EXTRALIBS) -o $@ -rpath $(LIBPATH) -version-info $(VERSION_LT)
 | |
| 
 | |
| $(LIBTEST): $(TOBJECTS)
 | |
| 	$(LT) --mode=link --tag=CC $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) `find ./testprof -type f -name "*.lo" | LC_ALL=C sort` -o $@ -rpath $(LIBPATH) -version-info $(VERSION_LT)
 | |
| 
 | |
| install: .common_install
 | |
| 	sed -e 's,^prefix=.*,prefix=$(DESTDIR),' -e 's,^Version:.*,Version: $(VERSION),' libtomcrypt.pc.in > libtomcrypt.pc
 | |
| 	install -d $(LIBPATH)/pkgconfig
 | |
| 	install -m 644 libtomcrypt.pc $(LIBPATH)/pkgconfig/
 | |
| 
 | |
| install_bins: .common_install_bins
 | |
| 
 | |
| install_test: .common_install_test
 | |
| 
 | |
| test: $(LIBNAME) $(LIBTEST) $(TESTS)
 | |
| 	$(LT) --mode=link --tag=CC $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TEST) $(TESTS) $(LIBTEST) $(LIBNAME) $(EXTRALIBS)
 | |
| 
 | |
| timing: $(LIBNAME) $(LIBTEST) $(TIMINGS)
 | |
| 	$(LT) --mode=link --tag=CC $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TIMING) $(TIMINGS) $(LIBTEST) $(LIBNAME) $(EXTRALIBS)
 | |
| 
 | |
| # build the demos from a template
 | |
| define DEMO_template
 | |
| $(1): demos/$(1).o $$(LIBNAME)
 | |
| ifneq ($V,1)
 | |
| 	@echo "   * $${CC} $$@"
 | |
| endif
 | |
| 	$$(LT) --mode=link --tag=CC $$(CC) $$(CFLAGS) $$(CPPFLAGS) $$(LDFLAGS) $$^ $$(EXTRALIBS) -o $(1)
 | |
| endef
 | |
| 
 | |
| $(foreach demo, $(strip $(DEMOS)), $(eval $(call DEMO_template,$(demo))))
 | |
| 
 | |
| # $Source$
 | |
| # $Revision$
 | |
| # $Date$
 |