1 1.1 elric ######################################################################## 2 1.1 elric # 3 1.1 elric # Copyright (c) 2009, 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\hdb 33 1.1 elric 34 1.1 elric !include ../../windows/NTMakefile.w32 35 1.1 elric 36 1.1 elric gen_files_hdb = $(OBJ)\asn1_hdb_asn1.x 37 1.1 elric 38 1.1 elric $(gen_files_hdb) $(OBJ)\hdb_asn1.hx $(OBJ)\hdb_asn1-priv.hx: $(BINDIR)\asn1_compile.exe hdb.asn1 39 1.1 elric cd $(OBJ) 40 1.1.1.3 christos $(BINDIR)\asn1_compile.exe --sequence=HDB-Ext-KeySet --sequence=Keys --one-code-file $(SRCDIR)\hdb.asn1 hdb_asn1 41 1.1 elric cd $(SRCDIR) 42 1.1 elric 43 1.1 elric $(gen_files_hdb:.x=.c): $$(@R).x 44 1.1 elric 45 1.1 elric !ifdef OPENLDAP_MODULE 46 1.1 elric 47 1.1 elric ldap_dll = $(BINDIR)\hdb_ldap.dll 48 1.1 elric ldap_lib = $(LIBDIR)\hdb_ldap.lib 49 1.1 elric ldap_objs = $(OBJ)\hdb-ldap.obj 50 1.1 elric 51 1.1 elric $(ldap_dll): $(ldap_objs) 52 1.1 elric $(DLLGUILINK) -implib:$(ldap_lib) 53 1.1 elric $(DLLPREP) 54 1.1 elric 55 1.1 elric clean:: 56 1.1 elric -$(RM) $(ldap_dll) 57 1.1 elric -$(RM) $(ldap_lib) 58 1.1 elric 59 1.1 elric !else 60 1.1 elric 61 1.1 elric ldap = $(OBJ)\hdb-ldap.obj 62 1.1 elric ldap_c = hdb-ldap.c 63 1.1 elric 64 1.1 elric !endif 65 1.1 elric 66 1.1 elric dist_libhdb_la_SOURCES = \ 67 1.1 elric common.c \ 68 1.1 elric db.c \ 69 1.1 elric db3.c \ 70 1.1 elric ext.c \ 71 1.1 elric $(ldap_c) \ 72 1.1 elric hdb.c \ 73 1.1 elric hdb-sqlite.c \ 74 1.1 elric hdb-keytab.c \ 75 1.1 elric hdb-mitdb.c \ 76 1.1.1.3 christos hdb-mdb.c \ 77 1.1 elric hdb_locl.h \ 78 1.1 elric keys.c \ 79 1.1 elric keytab.c \ 80 1.1 elric dbinfo.c \ 81 1.1 elric mkey.c \ 82 1.1 elric ndbm.c \ 83 1.1 elric print.c 84 1.1 elric 85 1.1 elric libhdb_OBJs = \ 86 1.1 elric $(OBJ)\common.obj \ 87 1.1 elric $(OBJ)\db.obj \ 88 1.1 elric $(OBJ)\db3.obj \ 89 1.1 elric $(OBJ)\ext.obj \ 90 1.1 elric $(ldap) \ 91 1.1 elric $(OBJ)\hdb.obj \ 92 1.1 elric $(OBJ)\hdb-sqlite.obj \ 93 1.1 elric $(OBJ)\hdb-keytab.obj \ 94 1.1 elric $(OBJ)\hdb-mitdb.obj \ 95 1.1 elric $(OBJ)\keys.obj \ 96 1.1 elric $(OBJ)\keytab.obj \ 97 1.1 elric $(OBJ)\dbinfo.obj \ 98 1.1 elric $(OBJ)\mkey.obj \ 99 1.1 elric $(OBJ)\ndbm.obj \ 100 1.1 elric $(OBJ)\print.obj \ 101 1.1 elric $(gen_files_hdb:.x=.obj) \ 102 1.1 elric $(OBJ)\hdb_err.obj 103 1.1 elric 104 1.1 elric $(OBJ)\hdb_err.c $(OBJ)\hdb_err.h: hdb_err.et 105 1.1 elric cd $(OBJ) 106 1.1 elric $(BINDIR)\compile_et.exe $(SRCDIR)\hdb_err.et 107 1.1 elric cd $(SRCDIR) 108 1.1 elric 109 1.1 elric $(OBJ)\hdb-protos.h: $(dist_libhdb_la_SOURCES) 110 1.1 elric $(PERL) ../../cf/make-proto.pl -q -P remove -o $@ $(dist_libhdb_la_SOURCES) \ 111 1.1 elric || $(RM) $@ 112 1.1 elric 113 1.1 elric $(OBJ)\hdb-private.h: $(dist_libhdb_la_SOURCES) 114 1.1 elric $(PERL) ../../cf/make-proto.pl -q -P remote -p $@ $(dist_libhdb_la_SOURCES) \ 115 1.1 elric || $(RM) $@ 116 1.1 elric 117 1.1 elric INCFILES= \ 118 1.1 elric $(INCDIR)\hdb.h \ 119 1.1 elric $(INCDIR)\hdb-protos.h \ 120 1.1 elric $(OBJ)\hdb-private.h \ 121 1.1 elric $(INCDIR)\hdb_err.h \ 122 1.1 elric $(INCDIR)\hdb_asn1.h \ 123 1.1 elric $(INCDIR)\hdb_asn1-priv.h 124 1.1 elric 125 1.1 elric !ifndef STATICLIBS 126 1.1 elric 127 1.1 elric RES=$(OBJ)\libhdb-version.res 128 1.1 elric 129 1.1 elric $(LIBHDB): $(BINDIR)\libhdb.dll 130 1.1 elric 131 1.1.1.3 christos $(BINDIR)\libhdb.dll: $(libhdb_OBJs) $(ldap_lib) $(LIBHEIMBASE) $(LIBHEIMDAL) $(LIBSQLITE) $(LIBCOMERR) $(LIBROKEN) $(RES) 132 1.1 elric $(DLLGUILINK) -def:libhdb-exports.def -implib:$(LIBHDB) 133 1.1.1.3 christos $(DLLPREP_NODIST) 134 1.1 elric 135 1.1 elric clean:: 136 1.1 elric -$(RM) $(BINDIR)\libhdb.* 137 1.1 elric 138 1.1 elric !else 139 1.1 elric 140 1.1 elric $(LIBHDB): $(libhdb_OBJs) $(ldap_lib) 141 1.1 elric $(LIBCON) 142 1.1 elric 143 1.1 elric !endif 144 1.1 elric 145 1.1 elric all:: $(INCFILES) $(LIBHDB) 146 1.1 elric 147 1.1 elric clean:: 148 1.1 elric -$(RM) $(INCFILES) 149 1.1 elric -$(RM) $(LIBHDB) 150 1.1 elric 151 1.1 elric test:: test-binaries test-run 152 1.1 elric 153 1.1.1.3 christos test-binaries: $(OBJ)\test_dbinfo.exe $(OBJ)\test_hdbkeys.exe $(OBJ)\test_hdbplugin.exe 154 1.1 elric 155 1.1 elric $(OBJ)\test_dbinfo.exe: $(OBJ)\test_dbinfo.obj $(LIBHDB) $(LIBHEIMDAL) $(LIBROKEN) $(LIBVERS) 156 1.1 elric $(EXECONLINK) 157 1.1 elric $(EXEPREP_NODIST) 158 1.1 elric 159 1.1 elric $(OBJ)\test_hdbkeys.exe: $(OBJ)\test_hdbkeys.obj $(LIBHDB) $(LIBHEIMDAL) $(LIBROKEN) $(LIBVERS) 160 1.1 elric $(EXECONLINK) 161 1.1 elric $(EXEPREP_NODIST) 162 1.1 elric 163 1.1.1.3 christos $(OBJ)\test_hdbplugin.exe: $(OBJ)\test_hdbplugin.obj $(LIBHDB) $(LIBHEIMDAL) $(LIBROKEN) $(LIBVERS) 164 1.1.1.3 christos $(EXECONLINK) 165 1.1.1.3 christos $(EXEPREP_NODIST) 166 1.1.1.3 christos 167 1.1 elric test-run: 168 1.1 elric cd $(OBJ) 169 1.1.1.3 christos -test_dbinfo.exe 170 1.1.1.3 christos -test_hdbkeys.exe 171 1.1.1.3 christos -test_hdbplugin.exe 172 1.1 elric cd $(SRCDIR) 173 1.1 elric 174 1.1 elric !ifdef OPENLDAP_INC 175 1.1 elric openldap_inc_flag=-I$(OPENLDAP_INC) 176 1.1 elric !else 177 1.1 elric openldap_inc_flag= 178 1.1 elric !endif 179 1.1 elric 180 1.1 elric hdb_cflags=$(openldap_inc_flag) -I$(OBJ) 181 1.1 elric 182 1.1 elric {}.c{$(OBJ)}.obj:: 183 1.1 elric $(C2OBJ_P) $(hdb_cflags) -DASN1_LIB 184 1.1 elric 185 1.1 elric {$(OBJ)}.c{$(OBJ)}.obj:: 186 1.1 elric $(C2OBJ_P) $(hdb_cflags) 187 1.1 elric 188 1.1 elric test-exports: 189 1.1 elric $(PERL) ..\..\cf\w32-check-exported-symbols.pl --vs version-script.map --def libhdb-exports.def 190 1.1 elric 191 1.1 elric test:: test-exports 192