From 9080b5d979e2af4de1022513bdaa303306b1ca9b Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Tue, 26 Aug 2008 11:20:54 +0200 Subject: heimdal_build: autogenerate the heimdal private/proto headers Now it's possible to just use a plain heimdal tree in source/heimdal/ without any pregenerated files. metze (This used to be commit da333ca7113f78eeacab4f93b401f075114c7d88) --- source4/heimdal_build/internal.mk | 101 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) (limited to 'source4/heimdal_build') diff --git a/source4/heimdal_build/internal.mk b/source4/heimdal_build/internal.mk index 37c5961853..56c754749d 100644 --- a/source4/heimdal_build/internal.mk +++ b/source4/heimdal_build/internal.mk @@ -2,6 +2,23 @@ heimdalbuildsrcdir = $(heimdalsrcdir)/../heimdal_build HEIMDAL_VPATH = $(heimdalbuildsrcdir):$(heimdalsrcdir)/lib/asn1:$(heimdalsrcdir)/lib/krb5:$(heimdalsrcdir)/lib/gssapi:$(heimdalsrcdir)/lib/hdb:$(heimdalsrcdir)/lib/roken:$(heimdalsrcdir)/lib/des +# Create a prototype header +# Arguments: header file, arguments, c files, deps +define heimdal_proto_header_template + +proto:: $(1) + +clean:: ; + rm -f $(1) + +$(4):: $(1) + +$(1): $(3) ; + @echo "Creating $$@" + @$$(PERL) $$(heimdalsrcdir)/cf/make-proto.pl $(2) $(1) $(3) + +endef + ####################### # Start SUBSYSTEM HEIMDAL_KDC [SUBSYSTEM::HEIMDAL_KDC] @@ -27,6 +44,20 @@ HEIMDAL_KDC_OBJ_FILES = \ $(heimdalsrcdir)/kdc/windc.o \ $(heimdalsrcdir)/kdc/kx509.o +$(eval $(call heimdal_proto_header_template, \ + $(heimdalsrcdir)/kdc/kdc-protos.h, \ + -q -P comment -o, \ + $(HEIMDAL_KDC_OBJ_FILES:.o=.c), \ + $(HEIMDAL_KDC_OBJ_FILES) $(HEIMDAL_KDC_OBJ_FILES:.o=.d) \ +)) + +$(eval $(call heimdal_proto_header_template, \ + $(heimdalsrcdir)/kdc/kdc-private.h, \ + -q -P comment -p, \ + $(HEIMDAL_KDC_OBJ_FILES:.o=.c), \ + $(HEIMDAL_KDC_OBJ_FILES) $(HEIMDAL_KDC_OBJ_FILES:.o=.d) \ +)) + [SUBSYSTEM::HEIMDAL_NTLM] CFLAGS = -I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/lib/ntlm PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_HCRYPTO HEIMDAL_KRB5 @@ -34,6 +65,13 @@ PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_HCRYPTO HEIMDAL_KRB5 HEIMDAL_NTLM_OBJ_FILES = \ $(heimdalsrcdir)/lib/ntlm/ntlm.o +$(eval $(call heimdal_proto_header_template, \ + $(heimdalsrcdir)/lib/ntlm/heimntlm-protos.h, \ + -q -P comment -o, \ + $(HEIMDAL_NTLM_OBJ_FILES:.o=.c), \ + $(HEIMDAL_NTLM_OBJ_FILES) $(HEIMDAL_NTLM_OBJ_FILES:.o=.d) \ +)) + [SUBSYSTEM::HEIMDAL_HDB_KEYS] CFLAGS = -I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/lib/hdb PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_HCRYPTO HEIMDAL_KRB5 \ @@ -59,6 +97,20 @@ HEIMDAL_HDB_OBJ_FILES = \ $(heimdalsrcdir)/lib/hdb/ndbm.o \ $(heimdalsrcdir)/lib/hdb/hdb_err.o +$(eval $(call heimdal_proto_header_template, \ + $(heimdalsrcdir)/lib/hdb/hdb-protos.h, \ + -q -P comment -o, \ + $(HEIMDAL_HDB_OBJ_FILES:.o=.c), \ + $(HEIMDAL_HDB_OBJ_FILES) $(HEIMDAL_HDB_OBJ_FILES:.o=.d) \ +)) + +$(eval $(call heimdal_proto_header_template, \ + $(heimdalsrcdir)/lib/hdb/hdb-private.h, \ + -q -P comment -p, \ + $(HEIMDAL_HDB_OBJ_FILES:.o=.c), \ + $(HEIMDAL_HDB_OBJ_FILES) $(HEIMDAL_HDB_OBJ_FILES:.o=.d) \ +)) + ####################### # Start SUBSYSTEM HEIMDAL_GSSAPI [SUBSYSTEM::HEIMDAL_GSSAPI] @@ -75,6 +127,13 @@ HEIMDAL_GSSAPI_SPNEGO_OBJ_FILES = \ $(heimdalsrcdir)/lib/gssapi/spnego/cred_stubs.o \ $(heimdalsrcdir)/lib/gssapi/spnego/accept_sec_context.o \ +$(eval $(call heimdal_proto_header_template, \ + $(heimdalsrcdir)/lib/gssapi/spnego/spnego-private.h, \ + -q -P comment -p, \ + $(HEIMDAL_GSSAPI_SPNEGO_OBJ_FILES:.o=.c), \ + $(HEIMDAL_GSSAPI_SPNEGO_OBJ_FILES) $(HEIMDAL_GSSAPI_SPNEGO_OBJ_FILES:.o=.d) \ +)) + HEIMDAL_GSSAPI_KRB5_OBJ_FILES = \ $(heimdalsrcdir)/lib/gssapi/krb5/copy_ccache.o \ $(heimdalsrcdir)/lib/gssapi/krb5/delete_sec_context.o \ @@ -122,6 +181,13 @@ HEIMDAL_GSSAPI_KRB5_OBJ_FILES = \ $(heimdalsrcdir)/lib/gssapi/krb5/process_context_token.o \ $(heimdalsrcdir)/lib/gssapi/krb5/prf.o +$(eval $(call heimdal_proto_header_template, \ + $(heimdalsrcdir)/lib/gssapi/krb5/gsskrb5-private.h, \ + -q -P comment -p, \ + $(HEIMDAL_GSSAPI_KRB5_OBJ_FILES:.o=.c), \ + $(HEIMDAL_GSSAPI_KRB5_OBJ_FILES) $(HEIMDAL_GSSAPI_KRB5_OBJ_FILES:.o=.d) \ +)) + HEIMDAL_GSSAPI_OBJ_FILES = \ $(HEIMDAL_GSSAPI_SPNEGO_OBJ_FILES) \ $(HEIMDAL_GSSAPI_KRB5_OBJ_FILES) \ @@ -282,6 +348,20 @@ HEIMDAL_KRB5_OBJ_FILES = \ $(heimdalsrcdir)/lib/krb5/krb_err.o \ $(heimdalbuildsrcdir)/krb5-glue.o +$(eval $(call heimdal_proto_header_template, \ + $(heimdalsrcdir)/lib/krb5/krb5-protos.h, \ + -E KRB5_LIB -q -P comment -o, \ + $(HEIMDAL_KRB5_OBJ_FILES:.o=.c), \ + $(HEIMDAL_KRB5_OBJ_FILES) $(HEIMDAL_KRB5_OBJ_FILES:.o=.d) \ +)) + +$(eval $(call heimdal_proto_header_template, \ + $(heimdalsrcdir)/lib/krb5/krb5-private.h, \ + -q -P comment -p, \ + $(HEIMDAL_KRB5_OBJ_FILES:.o=.c), \ + $(HEIMDAL_KRB5_OBJ_FILES) $(HEIMDAL_KRB5_OBJ_FILES:.o=.d) \ +)) + ####################### # Start SUBSYSTEM HEIMDAL_HEIM_ASN1 [SUBSYSTEM::HEIMDAL_HEIM_ASN1] @@ -402,6 +482,20 @@ HEIMDAL_HX509_OBJG_FILES = \ HEIMDAL_HX509_OBJ_FILES = $(HEIMDAL_HX509_OBJH_FILES) $(HEIMDAL_HX509_OBJG_FILES) +$(eval $(call heimdal_proto_header_template, \ + $(heimdalsrcdir)/lib/hx509/hx509-protos.h, \ + -R '^(_|^C)' -E HX509_LIB -q -P comment -o, \ + $(HEIMDAL_HX509_OBJH_FILES:.o=.c), \ + $(HEIMDAL_HX509_OBJH_FILES) $(HEIMDAL_HX509_OBJH_FILES:.o=.d) \ +)) + +$(eval $(call heimdal_proto_header_template, \ + $(heimdalsrcdir)/lib/hx509/hx509-private.h, \ + -q -P comment -p, \ + $(HEIMDAL_HX509_OBJH_FILES:.o=.c), \ + $(HEIMDAL_HX509_OBJH_FILES) $(HEIMDAL_HX509_OBJH_FILES:.o=.d) \ +)) + ####################### # Start SUBSYSTEM HEIMDAL_WIND [SUBSYSTEM::HEIMDAL_WIND] @@ -587,6 +681,13 @@ asn1_compile_OBJ_FILES = \ $(asn1_compile_OBJ_FILES): CFLAGS+=-I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/lib/asn1 -I$(heimdalsrcdir)/lib/roken -I$(socketwrappersrcdir) +$(eval $(call heimdal_proto_header_template, \ + $(heimdalsrcdir)/lib/asn1/der-protos.h, \ + -q -P comment -o, \ + $(HEIMDAL_HEIM_ASN1_DER_OBJ_FILES:.o=.c), \ + $(asn1_compile_ASN1_OBJ_FILES) $(asn1_compile_ASN1_OBJ_FILES:.ho=.hd) \ +)) + # End BINARY asn1_compile ####################### -- cgit