mirror of https://github.com/asterisk/asterisk
				
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							131 lines
						
					
					
						
							3.0 KiB
						
					
					
				
			
		
		
	
	
							131 lines
						
					
					
						
							3.0 KiB
						
					
					
				| # Makefile for libcryptomodule.a
 | |
| #
 | |
| # David A. McGrew
 | |
| # Cisco Systems, Inc.
 | |
| 
 | |
| srcdir = @srcdir@
 | |
| top_srcdir = @top_srcdir@
 | |
| top_builddir = @top_builddir@
 | |
| VPATH = @srcdir@
 | |
| 
 | |
| CC	= @CC@
 | |
| INCDIR	= -Iinclude -I$(srcdir)/include
 | |
| DEFS	= @DEFS@
 | |
| CPPFLAGS= @CPPFLAGS@
 | |
| CFLAGS	= @CFLAGS@
 | |
| LIBS	= @LIBS@
 | |
| LDFLAGS	= @LDFLAGS@ -L.
 | |
| COMPILE = $(CC) $(DEFS) $(INCDIR) $(CPPFLAGS) $(CFLAGS)
 | |
| CRYPTOLIB = -lcryptomodule
 | |
| 
 | |
| RANLIB	= @RANLIB@
 | |
| 
 | |
| # EXE defines the suffix on executables - it's .exe for cygwin, and
 | |
| # null on linux, bsd, and OS X and other OSes.  we define this so that
 | |
| # `make clean` will work on the cygwin platform
 | |
| EXE = @EXE@
 | |
| # Random source.
 | |
| RNG_OBJS = @RNG_OBJS@
 | |
| 
 | |
| ifdef ARCH
 | |
|   DEFS += -D$(ARCH)=1
 | |
| endif
 | |
| 
 | |
| ifdef sysname
 | |
|   DEFS += -D$(sysname)=1
 | |
| endif
 | |
| 
 | |
| .PHONY: dummy all runtest clean superclean
 | |
| 
 | |
| dummy : all runtest 
 | |
| 
 | |
| # test applications 
 | |
| 
 | |
| testapp = test/cipher_driver$(EXE) test/datatypes_driver$(EXE) \
 | |
| 	  test/stat_driver$(EXE) test/sha1_driver$(EXE) \
 | |
| 	  test/kernel_driver$(EXE) test/aes_calc$(EXE) test/rand_gen$(EXE) \
 | |
| 	  test/env$(EXE)
 | |
| 
 | |
| # data values used to test the aes_calc application
 | |
| 
 | |
| k=000102030405060708090a0b0c0d0e0f
 | |
| p=00112233445566778899aabbccddeeff
 | |
| c=69c4e0d86a7b0430d8cdb78070b4c55a
 | |
| 
 | |
| runtest: libcryptomodule.a $(testapp)
 | |
| 	test/env$(EXE) # print out information on the build environment
 | |
| 	@echo "running libcryptomodule test applications..."
 | |
| 	test `test/aes_calc $k $p` = $c
 | |
| 	test/cipher_driver$(EXE) -v >/dev/null
 | |
| 	test/datatypes_driver$(EXE) -v >/dev/null
 | |
| 	test/stat_driver$(EXE) >/dev/null
 | |
| 	test/sha1_driver$(EXE) -v >/dev/null
 | |
| 	test/kernel_driver$(EXE) -v >/dev/null
 | |
| 	test/rand_gen$(EXE) -n 256 >/dev/null
 | |
| 	@echo "libcryptomodule test applications passed."
 | |
| 
 | |
| # libcryptomodule.a (the crypto engine) 
 | |
| 
 | |
| ciphers = cipher/cipher.o cipher/null_cipher.o      \
 | |
|           cipher/aes.o cipher/aes_icm.o             \
 | |
|           cipher/aes_cbc.o
 | |
| 
 | |
| hashes  = hash/null_auth.o hash/sha1.o \
 | |
|           hash/hmac.o hash/auth.o
 | |
| 
 | |
| math    = math/datatypes.o math/stat.o
 | |
| 
 | |
| rng     = rng/$(RNG_OBJS) rng/rand_source.o rng/prng.o rng/ctr_prng.o
 | |
| 
 | |
| err     = kernel/err.o
 | |
| 
 | |
| kernel  = kernel/crypto_kernel.o  kernel/alloc.o   \
 | |
|           kernel/key.o $(rng) $(err)
 | |
| 
 | |
| xfm     = ae_xfm/xfm.o
 | |
| 
 | |
| cryptobj =  $(ciphers) $(hashes) $(math) $(stat) $(kernel) $(xfm)
 | |
| 
 | |
| # the rule for making object files and test apps
 | |
| 
 | |
| %.o: %.c
 | |
| 	$(COMPILE) -c $< -o $@
 | |
| 
 | |
| %$(EXE): %.c libcryptomodule.a 
 | |
| 	$(COMPILE) $(LDFLAGS) $< -o $@ $(CRYPTOLIB) $(LIBS)
 | |
| 
 | |
| ifndef AR
 | |
|   AR=ar
 | |
| endif
 | |
| 
 | |
| # and the crypto module library itself
 | |
| 
 | |
| libcryptomodule.a: $(cryptobj) 
 | |
| 	$(AR) cr libcryptomodule.a $(cryptobj) 
 | |
| 	$(RANLIB) libcryptomodule.a
 | |
| 
 | |
| all: libcryptomodule.a $(testapp)
 | |
| 
 | |
| # housekeeping functions
 | |
| 
 | |
| clean:
 | |
| 	rm -f libcryptomodule.a
 | |
| 	rm -f $(testapp) *.o */*.o 
 | |
| 	for a in * .* */*; do if [ -f "$$a~" ] ; then rm $$a~; fi; done;
 | |
| 	rm -f `find . -name "*.[ch]~*~"`
 | |
| 	rm -rf latex
 | |
| 
 | |
| superclean: clean
 | |
| 	rm -f *core TAGS ktrace.out
 | |
| 
 | |
| 
 | |
| # the target 'package' builds a compressed tar archive of the source code
 | |
| 
 | |
| distname = crypto-$(shell cat VERSION)
 | |
| 
 | |
| package: superclean
 | |
| 	cd ..; tar cvzf $(distname).tgz crypto/
 | |
| 
 | |
| 
 | |
| # EOF
 |