1#
2# Top-level Makefile for clxutils. Allows build or clean
3# of all directories in one swoop.  
4#
5SHELL := /bin/zsh
6
7SUBDIRS= clAppUtils anchorTest caVerify certChain certInCrl certTime certcrl \
8	certLabelTest certSerialEncodeTest certsFromDb cgConstruct \
9	cgVerify  clTool cmstool \
10	dotMacArchive dotMacTool extendAttrTest extendAttrTool \
11	extenGrab extenTest extenTestTp extractCertFields findCert \
12	idTool kcImport kcExport kcTime kcTool keyFromCert \
13	newCmsTool ocspdTool ocspTool pemtool  \
14	parseCert parseCrl pemtool secTime secTrustTime \
15	signerAndSubj signerAndSubjSsl \
16	signerAndSubjTp smimePolicy sslAlert sslAuth sslBench sslCipher \
17	sslEcdsa sslHandshakeTime sslProt \
18	sslServer sslSession sslSubjName sslViewer \
19	sysIdTool threadTest trustAnchors trustApps unBER \
20	vfyCert vfyCertChain
21# krbtool removed pending new kerb changes
22#	 krbtool
23
24# note the p12 tests removed - I really want p12Reencode back in...p12 we can do without
25#	extractCertFields idTool kcImport kcExport kcTime kcTool keyFromCert pemtool p12 p12Reencode \
26
27INSTALLDIR=$(DSTROOT)/usr/local/bin
28
29# default SRCROOT for clean target
30SRCROOT ?= $(shell pwd)
31
32#
33# The "if [[ -a $$i ]]" allows use of this Makefile on a fragment of 
34# clxutils, e.g., the SslExamples package built by buildSsl.
35#
36first:
37	@foreach i in $(SUBDIRS); \
38		if [[ -a $$i ]] then; \
39			echo "=== Making $$i ==="; \
40			cd $$i || exit 1; \
41			make -r || exit 1; \
42			cd ..; \
43		fi; \
44	end
45
46build: first
47
48sphinx:
49	make "SPHINX=-DSPHINX"
50
51# architecture options
52
5364bit:
54	make "DEBUG_CFLAGS=-arch x86_64" "CMDLINE_LDFLAGS=-arch x86_64" 
55	
5664bitFat:
57	make "DEBUG_CFLAGS=-arch x86_64 -arch i386" "CMDLINE_LDFLAGS=-arch x86_64 -arch i386" 
58
59fat:
60	make "DEBUG_CFLAGS=-arch i386" "CMDLINE_LDFLAGS=-arch i386" 
61
62install:
63	@foreach i in $(SUBDIRS); \
64		if [[ -a $$i ]] then; \
65			echo "=== Installing $$i ==="; \
66			cd $$i; \
67			make install "DSTROOT=$(DSTROOT)" "SYMROOT=$(SYMROOT)" \
68				"OBJROOT=$(OBJROOT)" || exit 1; \
69			cd ..; \
70		fi; \
71	end
72	install -d -m 0755 $(INSTALLDIR)
73	install -p -m 0755 cltpdvt $(INSTALLDIR)
74	echo "** BUILD SUCCEEDED **"
75
76# this module doesn't need to install any headers
77installhdrs:
78
79installsrc:
80	cp -R . $(SRCROOT)
81
82clean:
83	@foreach i in $(SUBDIRS); \
84		if [[ -a $$i ]] then; \
85			echo "=== Cleaning $$i ==="; \
86			cd $$i || exit 1; \
87			make clean "DSTROOT=$(DSTROOT)" "SYMROOT=$(SYMROOT)" \
88				"OBJROOT=$(OBJROOT)" "SRCROOT=$(SRCROOT)/$$i" \
89				|| exit 1; \
90			cd ..; \
91		fi; \
92	end
93