1 1.1 elric ######################################################################## 2 1.1 elric # 3 1.1.1.3 christos # Copyright (c) 2009-2017, 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.2 christos 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.2 christos $(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.2 christos $(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.2 christos $(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.1.3 christos $(LEX) -P_hx509_sel_yy -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