NTMakefile revision 1.1.1.1.20.1 1 1.1 elric ########################################################################
2 1.1 elric #
3 1.1.1.1.20.1 snj # Copyright (c) 2009-2016, Secure Endpoints Inc.
4 1.1 elric # All rights reserved.
5 1.1 elric #
6 1.1 elric # Redistribution and use in source and binary forms, with or without
7 1.1 elric # modification, are permitted provided that the following conditions
8 1.1 elric # are met:
9 1.1 elric #
10 1.1 elric # - Redistributions of source code must retain the above copyright
11 1.1 elric # notice, this list of conditions and the following disclaimer.
12 1.1 elric #
13 1.1 elric # - Redistributions in binary form must reproduce the above copyright
14 1.1 elric # notice, this list of conditions and the following disclaimer in
15 1.1 elric # the documentation and/or other materials provided with the
16 1.1 elric # distribution.
17 1.1 elric #
18 1.1 elric # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 1.1 elric # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 1.1 elric # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
21 1.1 elric # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
22 1.1 elric # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
23 1.1 elric # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
24 1.1 elric # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 1.1 elric # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26 1.1 elric # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 1.1 elric # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
28 1.1 elric # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 1.1 elric # POSSIBILITY OF SUCH DAMAGE.
30 1.1 elric #
31 1.1 elric
32 1.1 elric RELDIR=lib\hx509
33 1.1.1.1.20.1 snj intcflags=-I$(OBJ)
34 1.1 elric localcflags=-DASN1_LIB
35 1.1 elric
36 1.1 elric !include ../../windows/NTMakefile.w32
37 1.1 elric
38 1.1 elric gen_files_ocsp = $(OBJ)\asn1_ocsp_asn1.x
39 1.1 elric
40 1.1 elric gen_files_pkcs10 = $(OBJ)\asn1_pkcs10_asn1.x
41 1.1 elric
42 1.1 elric gen_files_crmf = $(OBJ)\asn1_crmf_asn1.x
43 1.1 elric
44 1.1 elric libhx509_la_OBJS = \
45 1.1 elric $(OBJ)\ca.obj \
46 1.1 elric $(OBJ)\cert.obj \
47 1.1 elric $(OBJ)\cms.obj \
48 1.1 elric $(OBJ)\collector.obj \
49 1.1 elric $(OBJ)\crypto.obj \
50 1.1.1.1.20.1 snj $(OBJ)\crypto-ec.obj \
51 1.1 elric $(OBJ)\error.obj \
52 1.1 elric $(OBJ)\env.obj \
53 1.1 elric $(OBJ)\file.obj \
54 1.1 elric $(OBJ)\hx509_err.obj \
55 1.1 elric $(OBJ)\sel.obj \
56 1.1 elric $(OBJ)\sel-gram.obj \
57 1.1 elric $(OBJ)\sel-lex.obj \
58 1.1 elric $(OBJ)\keyset.obj \
59 1.1 elric $(OBJ)\ks_dir.obj \
60 1.1 elric $(OBJ)\ks_file.obj \
61 1.1 elric $(OBJ)\ks_mem.obj \
62 1.1 elric $(OBJ)\ks_null.obj \
63 1.1 elric $(OBJ)\ks_p11.obj \
64 1.1 elric $(OBJ)\ks_p12.obj \
65 1.1 elric $(OBJ)\ks_keychain.obj \
66 1.1 elric $(OBJ)\lock.obj \
67 1.1 elric $(OBJ)\name.obj \
68 1.1 elric $(OBJ)\peer.obj \
69 1.1 elric $(OBJ)\print.obj \
70 1.1 elric $(OBJ)\softp11.obj \
71 1.1 elric $(OBJ)\req.obj \
72 1.1 elric $(OBJ)\revoke.obj \
73 1.1 elric $(gen_files_ocsp:.x=.obj) \
74 1.1 elric $(gen_files_pkcs10:.x=.obj)
75 1.1 elric
76 1.1 elric $(LIBHX509): $(libhx509_la_OBJS)
77 1.1 elric $(LIBCON)
78 1.1 elric
79 1.1 elric dist_libhx509_la_SOURCES = \
80 1.1 elric $(SRCDIR)\ca.c \
81 1.1 elric $(SRCDIR)\cert.c \
82 1.1 elric $(SRCDIR)\cms.c \
83 1.1 elric $(SRCDIR)\collector.c \
84 1.1 elric $(SRCDIR)\crypto.c \
85 1.1.1.1.20.1 snj $(SRCDIR)\crypto-ec.c \
86 1.1 elric $(SRCDIR)\doxygen.c \
87 1.1 elric $(SRCDIR)\error.c \
88 1.1 elric $(SRCDIR)\env.c \
89 1.1 elric $(SRCDIR)\file.c \
90 1.1 elric $(SRCDIR)\hx509.h \
91 1.1 elric $(SRCDIR)\hx_locl.h \
92 1.1 elric $(SRCDIR)\sel.c \
93 1.1 elric $(SRCDIR)\sel.h \
94 1.1 elric $(SRCDIR)\sel-gram.y \
95 1.1 elric $(SRCDIR)\sel-lex.l \
96 1.1 elric $(SRCDIR)\keyset.c \
97 1.1 elric $(SRCDIR)\ks_dir.c \
98 1.1 elric $(SRCDIR)\ks_file.c \
99 1.1 elric $(SRCDIR)\ks_mem.c \
100 1.1 elric $(SRCDIR)\ks_null.c \
101 1.1 elric $(SRCDIR)\ks_p11.c \
102 1.1 elric $(SRCDIR)\ks_p12.c \
103 1.1 elric $(SRCDIR)\ks_keychain.c \
104 1.1 elric $(SRCDIR)\lock.c \
105 1.1 elric $(SRCDIR)\name.c \
106 1.1 elric $(SRCDIR)\peer.c \
107 1.1 elric $(SRCDIR)\print.c \
108 1.1 elric $(SRCDIR)\softp11.c \
109 1.1 elric $(SRCDIR)\ref\pkcs11.h \
110 1.1 elric $(SRCDIR)\req.c \
111 1.1 elric $(SRCDIR)\revoke.c
112 1.1 elric
113 1.1 elric asn1_compile=$(BINDIR)\asn1_compile.exe
114 1.1 elric
115 1.1 elric $(gen_files_ocsp:.x=.c): $$(@R).x
116 1.1 elric
117 1.1 elric $(gen_files_pkcs10:.x=.c): $$(@R).x
118 1.1 elric
119 1.1 elric $(gen_files_crmf:.x=.c): $$(@R).x
120 1.1 elric
121 1.1 elric $(gen_files_ocsp) $(OBJ)\ocsp_asn1.hx: $(asn1_compile) ocsp.asn1
122 1.1 elric cd $(OBJ)
123 1.1 elric $(asn1_compile) --one-code-file \
124 1.1 elric --preserve-binary=OCSPTBSRequest \
125 1.1 elric --preserve-binary=OCSPResponseData \
126 1.1 elric $(SRCDIR)\ocsp.asn1 ocsp_asn1 \
127 1.1 elric || ( $(RM) -f $(gen_files_ocsp) $(OBJ)\ocsp_asn1.h ; exit /b 1 )
128 1.1 elric cd $(SRCDIR)
129 1.1 elric
130 1.1 elric $(gen_files_pkcs10) $(OBJ)\pkcs10_asn1.hx: $(asn1_compile) pkcs10.asn1
131 1.1 elric cd $(OBJ)
132 1.1 elric $(asn1_compile) --one-code-file \
133 1.1 elric --preserve-binary=CertificationRequestInfo \
134 1.1 elric $(SRCDIR)\pkcs10.asn1 pkcs10_asn1 \
135 1.1 elric || ( $(RM) -f $(gen_files_pkcs10) $(OBJ)\pkcs10_asn1.h ; exit /b 1 )
136 1.1 elric cd $(SRCDIR)
137 1.1 elric
138 1.1 elric $(gen_files_crmf) $(OBJ)\crmf_asn1.hx: $(asn1_compile) crmf.asn1
139 1.1 elric cd $(OBJ)
140 1.1 elric $(asn1_compile) --one-code-file $(SRCDIR)\crmf.asn1 crmf_asn1 \
141 1.1 elric || ( $(RM) -f $(gen_files_crmf) $(OBJ)\crmf_asn1.h ; exit /b 1 )
142 1.1 elric cd $(SRCDIR)
143 1.1 elric
144 1.1 elric INCFILES= \
145 1.1 elric $(INCDIR)\hx509.h \
146 1.1 elric $(INCDIR)\hx509-protos.h \
147 1.1 elric $(INCDIR)\hx509-private.h \
148 1.1 elric $(INCDIR)\hx509_err.h \
149 1.1 elric $(INCDIR)\ocsp_asn1.h \
150 1.1 elric $(INCDIR)\pkcs10_asn1.h \
151 1.1 elric $(INCDIR)\crmf_asn1.h \
152 1.1 elric $(OBJ)\ocsp_asn1-priv.h \
153 1.1 elric $(OBJ)\pkcs10_asn1-priv.h \
154 1.1 elric $(OBJ)\crmf_asn1-priv.h
155 1.1 elric
156 1.1 elric hxtool.c: $(OBJ)\hxtool-commands.h
157 1.1 elric
158 1.1 elric SLC=$(BINDIR)\slc.exe
159 1.1 elric
160 1.1 elric $(OBJ)\hxtool-commands.c $(OBJ)\hxtool-commands.h: hxtool-commands.in $(SLC)
161 1.1 elric cd $(OBJ)
162 1.1 elric $(CP) $(SRCDIR)\hxtool-commands.in $(OBJ)\hxtool-commands.in
163 1.1 elric $(SLC) hxtool-commands.in
164 1.1 elric cd $(SRCDIR)
165 1.1 elric
166 1.1 elric $(BINDIR)\hxtool.exe: $(OBJ)\tool\hxtool.obj $(OBJ)\tool\hxtool-commands.obj $(LIBHEIMDAL) $(OBJ)\hxtool-version.res
167 1.1.1.1.20.1 snj $(EXECONLINK) $(LIBHEIMDAL) $(LIBROKEN) $(LIBSL) $(LIBVERS) $(LIBCOMERR) $(LIB_openssl_crypto)
168 1.1 elric $(EXEPREP)
169 1.1 elric
170 1.1 elric $(OBJ)\hx509-protos.h:
171 1.1 elric cd $(OBJ)
172 1.1 elric $(PERL) $(SRCDIR)\..\..\cf\make-proto.pl -R "^(_|^C)" -E HX509_LIB -q -P remove -o hx509-protos.h $(dist_libhx509_la_SOURCES) || $(RM) -f hx509-protos.h
173 1.1 elric cd $(SRCDIR)
174 1.1 elric
175 1.1 elric $(OBJ)\hx509-private.h:
176 1.1 elric cd $(OBJ)
177 1.1 elric $(PERL) $(SRCDIR)\..\..\cf\make-proto.pl -q -P remove -p hx509-private.h $(dist_libhx509_la_SOURCES) || $(RM) -f hx509-private.h
178 1.1 elric cd $(SRCDIR)
179 1.1 elric
180 1.1 elric $(OBJ)\hx509_err.c $(OBJ)\hx509_err.h: hx509_err.et
181 1.1 elric cd $(OBJ)
182 1.1 elric $(BINDIR)\compile_et.exe $(SRCDIR)\hx509_err.et
183 1.1 elric cd $(SRCDIR)
184 1.1 elric
185 1.1 elric $(OBJ)\sel-gram.obj: $(OBJ)\sel-gram.c
186 1.1 elric $(C2OBJ) -I$(SRCDIR)
187 1.1 elric
188 1.1 elric $(OBJ)\sel-lex.obj: $(OBJ)\sel-lex.c
189 1.1 elric $(C2OBJ) -I$(SRCDIR) -I$(OBJ) -DYY_NO_UNISTD_H
190 1.1 elric
191 1.1 elric $(OBJ)\sel-gram.c: sel-gram.y
192 1.1 elric $(YACC) -o $@ --defines=$(OBJ)\sel-gram.h sel-gram.y
193 1.1 elric
194 1.1 elric $(OBJ)\sel-lex.c: sel-lex.l
195 1.1 elric $(LEX) -o$@ sel-lex.l
196 1.1 elric
197 1.1 elric all:: $(INCFILES) $(LIBHX509)
198 1.1 elric
199 1.1 elric prep:: mktooldir
200 1.1 elric
201 1.1 elric mktooldir:
202 1.1 elric ! if !exist($(OBJ)\tool)
203 1.1 elric $(MKDIR) $(OBJ)\tool
204 1.1 elric ! endif
205 1.1 elric
206 1.1 elric all-tools:: $(BINDIR)\hxtool.exe
207 1.1 elric
208 1.1 elric clean::
209 1.1 elric -$(RM) $(BINDIR)\hxtool.*
210 1.1 elric -$(RM) $(OBJ)\tool\*.*
211 1.1 elric
212 1.1 elric {}.c{$(OBJ)\tool}.obj::
213 1.1 elric $(C2OBJ_C) /Fd$(OBJ)\tool\ /Fo$(OBJ)\tool\ $(MPOPT) /UASN1_LIB $<
214 1.1 elric
215 1.1 elric {$(OBJ)}.c{$(OBJ)\tool}.obj::
216 1.1 elric $(C2OBJ_C) /Fd$(OBJ)\tool\ /Fo$(OBJ)\tool\ $(MPOPT) /UASN1_LIB $<
217 1.1 elric
218