xref: /aosp_15_r20/external/libsrtp2/crypto/Makefile.in (revision 90e502c7aef8d77d0622bb67d75435c6190cfc1a)
1*90e502c7SAndroid Build Coastguard Worker# Makefile for crypto test suite
2*90e502c7SAndroid Build Coastguard Worker#
3*90e502c7SAndroid Build Coastguard Worker# David A. McGrew
4*90e502c7SAndroid Build Coastguard Worker# Cisco Systems, Inc.
5*90e502c7SAndroid Build Coastguard Worker
6*90e502c7SAndroid Build Coastguard Workersrcdir = @srcdir@
7*90e502c7SAndroid Build Coastguard Workertop_srcdir = @top_srcdir@
8*90e502c7SAndroid Build Coastguard Workertop_builddir = @top_builddir@
9*90e502c7SAndroid Build Coastguard WorkerVPATH = @srcdir@
10*90e502c7SAndroid Build Coastguard Worker
11*90e502c7SAndroid Build Coastguard WorkerCC	= @CC@
12*90e502c7SAndroid Build Coastguard WorkerINCDIR	= -Iinclude -I$(srcdir)/include -I$(top_srcdir)/include
13*90e502c7SAndroid Build Coastguard WorkerDEFS	= @DEFS@
14*90e502c7SAndroid Build Coastguard WorkerCPPFLAGS= @CPPFLAGS@
15*90e502c7SAndroid Build Coastguard WorkerCFLAGS	= @CFLAGS@
16*90e502c7SAndroid Build Coastguard WorkerLIBS	= @LIBS@
17*90e502c7SAndroid Build Coastguard WorkerLDFLAGS	= @LDFLAGS@ -L. -L..
18*90e502c7SAndroid Build Coastguard WorkerCOMPILE = $(CC) $(DEFS) $(INCDIR) $(CPPFLAGS) $(CFLAGS)
19*90e502c7SAndroid Build Coastguard WorkerCRYPTOLIB = -lsrtp2
20*90e502c7SAndroid Build Coastguard WorkerCRYPTO_LIBDIR = @CRYPTO_LIBDIR@
21*90e502c7SAndroid Build Coastguard Worker
22*90e502c7SAndroid Build Coastguard WorkerRANLIB	= @RANLIB@
23*90e502c7SAndroid Build Coastguard Worker
24*90e502c7SAndroid Build Coastguard Worker# Specify how tests should find shared libraries on macOS and Linux
25*90e502c7SAndroid Build Coastguard Worker#
26*90e502c7SAndroid Build Coastguard Worker# macOS purges DYLD_LIBRARY_PATH when spawning subprocesses, so it's
27*90e502c7SAndroid Build Coastguard Worker# not possible to pass this in from the outside; we have to specify
28*90e502c7SAndroid Build Coastguard Worker# it for any subprocesses we call. No support for dynamic linked
29*90e502c7SAndroid Build Coastguard Worker# tests on Windows.
30*90e502c7SAndroid Build Coastguard Workerifneq ($(strip $(CRYPTO_LIBDIR)),)
31*90e502c7SAndroid Build Coastguard Worker	ifneq ($(OS),Windows_NT)
32*90e502c7SAndroid Build Coastguard Worker		UNAME_S = $(shell uname -s)
33*90e502c7SAndroid Build Coastguard Worker		ifeq ($(UNAME_S),Linux)
34*90e502c7SAndroid Build Coastguard Worker			FIND_LIBRARIES = LD_LIBRARY_PATH=$(CRYPTO_LIBDIR)
35*90e502c7SAndroid Build Coastguard Worker		endif
36*90e502c7SAndroid Build Coastguard Worker		ifeq ($(UNAME_S),Darwin)
37*90e502c7SAndroid Build Coastguard Worker			FIND_LIBRARIES = DYLD_LIBRARY_PATH=$(CRYPTO_LIBDIR)
38*90e502c7SAndroid Build Coastguard Worker		endif
39*90e502c7SAndroid Build Coastguard Worker	endif
40*90e502c7SAndroid Build Coastguard Workerendif
41*90e502c7SAndroid Build Coastguard Worker
42*90e502c7SAndroid Build Coastguard Worker# EXE defines the suffix on executables - it's .exe for cygwin, and
43*90e502c7SAndroid Build Coastguard Worker# null on linux, bsd, and OS X and other OSes.  we define this so that
44*90e502c7SAndroid Build Coastguard Worker# `make clean` will work on the cygwin platform
45*90e502c7SAndroid Build Coastguard WorkerEXE = @EXE@
46*90e502c7SAndroid Build Coastguard Worker# Random source.
47*90e502c7SAndroid Build Coastguard WorkerUSE_EXTERNAL_CRYPTO = @USE_EXTERNAL_CRYPTO@
48*90e502c7SAndroid Build Coastguard Worker
49*90e502c7SAndroid Build Coastguard Workerifdef ARCH
50*90e502c7SAndroid Build Coastguard Worker  DEFS += -D$(ARCH)=1
51*90e502c7SAndroid Build Coastguard Workerendif
52*90e502c7SAndroid Build Coastguard Worker
53*90e502c7SAndroid Build Coastguard Workerifdef sysname
54*90e502c7SAndroid Build Coastguard Worker  DEFS += -D$(sysname)=1
55*90e502c7SAndroid Build Coastguard Workerendif
56*90e502c7SAndroid Build Coastguard Worker
57*90e502c7SAndroid Build Coastguard Worker.PHONY: dummy all runtest clean superclean
58*90e502c7SAndroid Build Coastguard Worker
59*90e502c7SAndroid Build Coastguard Workerdummy : all runtest
60*90e502c7SAndroid Build Coastguard Worker
61*90e502c7SAndroid Build Coastguard Worker# test applications
62*90e502c7SAndroid Build Coastguard Workerifneq (1, $(USE_EXTERNAL_CRYPTO))
63*90e502c7SAndroid Build Coastguard WorkerAES_CALC = test/aes_calc$(EXE)
64*90e502c7SAndroid Build Coastguard Workerendif
65*90e502c7SAndroid Build Coastguard Worker
66*90e502c7SAndroid Build Coastguard Workertestapp = test/cipher_driver$(EXE) test/datatypes_driver$(EXE) \
67*90e502c7SAndroid Build Coastguard Worker	  test/stat_driver$(EXE) test/sha1_driver$(EXE) \
68*90e502c7SAndroid Build Coastguard Worker	  test/kernel_driver$(EXE) $(AES_CALC) \
69*90e502c7SAndroid Build Coastguard Worker	  test/env$(EXE)
70*90e502c7SAndroid Build Coastguard Worker
71*90e502c7SAndroid Build Coastguard Worker# data values used to test the aes_calc application for AES-128
72*90e502c7SAndroid Build Coastguard Workerk128=000102030405060708090a0b0c0d0e0f
73*90e502c7SAndroid Build Coastguard Workerp128=00112233445566778899aabbccddeeff
74*90e502c7SAndroid Build Coastguard Workerc128=69c4e0d86a7b0430d8cdb78070b4c55a
75*90e502c7SAndroid Build Coastguard Worker
76*90e502c7SAndroid Build Coastguard Worker
77*90e502c7SAndroid Build Coastguard Worker# data values used to test the aes_calc application for AES-256
78*90e502c7SAndroid Build Coastguard Workerk256=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
79*90e502c7SAndroid Build Coastguard Workerp256=00112233445566778899aabbccddeeff
80*90e502c7SAndroid Build Coastguard Workerc256=8ea2b7ca516745bfeafc49904b496089
81*90e502c7SAndroid Build Coastguard Worker
82*90e502c7SAndroid Build Coastguard Worker
83*90e502c7SAndroid Build Coastguard Workerruntest: $(testapp)
84*90e502c7SAndroid Build Coastguard Worker	$(FIND_LIBRARIES) test/env$(EXE) # print out information on the build environment
85*90e502c7SAndroid Build Coastguard Worker	@echo "running crypto test applications..."
86*90e502c7SAndroid Build Coastguard Workerifneq (1, $(USE_EXTERNAL_CRYPTO))
87*90e502c7SAndroid Build Coastguard Worker	$(FIND_LIBRARIES) test `test/aes_calc $(k128) $(p128)` = $(c128)
88*90e502c7SAndroid Build Coastguard Worker	$(FIND_LIBRARIES) test `test/aes_calc $(k256) $(p256)` = $(c256)
89*90e502c7SAndroid Build Coastguard Workerendif
90*90e502c7SAndroid Build Coastguard Worker	$(FIND_LIBRARIES) test/cipher_driver$(EXE) -v >/dev/null
91*90e502c7SAndroid Build Coastguard Worker	$(FIND_LIBRARIES) test/datatypes_driver$(EXE) -v >/dev/null
92*90e502c7SAndroid Build Coastguard Worker	$(FIND_LIBRARIES) test/stat_driver$(EXE) >/dev/null
93*90e502c7SAndroid Build Coastguard Worker	$(FIND_LIBRARIES) test/sha1_driver$(EXE) -v >/dev/null
94*90e502c7SAndroid Build Coastguard Worker	$(FIND_LIBRARIES) test/kernel_driver$(EXE) -v >/dev/null
95*90e502c7SAndroid Build Coastguard Worker	@echo "crypto test applications passed."
96*90e502c7SAndroid Build Coastguard Worker
97*90e502c7SAndroid Build Coastguard Worker
98*90e502c7SAndroid Build Coastguard Worker# the rule for making object files and test apps
99*90e502c7SAndroid Build Coastguard Worker
100*90e502c7SAndroid Build Coastguard Worker%.o: %.c
101*90e502c7SAndroid Build Coastguard Worker	$(COMPILE) -c $< -o $@
102*90e502c7SAndroid Build Coastguard Worker
103*90e502c7SAndroid Build Coastguard Worker%$(EXE): %.c $(srcdir)/../test/getopt_s.c
104*90e502c7SAndroid Build Coastguard Worker	$(COMPILE) $(LDFLAGS) $< $(srcdir)/../test/getopt_s.c -o $@ $(CRYPTOLIB) $(LIBS)
105*90e502c7SAndroid Build Coastguard Worker
106*90e502c7SAndroid Build Coastguard Workerall: $(testapp)
107*90e502c7SAndroid Build Coastguard Worker
108*90e502c7SAndroid Build Coastguard Worker# housekeeping functions
109*90e502c7SAndroid Build Coastguard Worker
110*90e502c7SAndroid Build Coastguard Workerclean:
111*90e502c7SAndroid Build Coastguard Worker	rm -f $(testapp) *.o */*.o
112*90e502c7SAndroid Build Coastguard Worker	for a in * .* */*; do if [ -f "$$a~" ] ; then rm $$a~; fi; done;
113*90e502c7SAndroid Build Coastguard Worker	rm -f `find . -name "*.[ch]~*~"`
114*90e502c7SAndroid Build Coastguard Worker	rm -rf latex
115*90e502c7SAndroid Build Coastguard Worker
116*90e502c7SAndroid Build Coastguard Workersuperclean: clean
117*90e502c7SAndroid Build Coastguard Worker	rm -f *core TAGS ktrace.out
118*90e502c7SAndroid Build Coastguard Worker
119*90e502c7SAndroid Build Coastguard Worker# EOF
120