summaryrefslogtreecommitdiff
path: root/source4/heimdal_build
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2008-08-26 11:20:54 +0200
committerStefan Metzmacher <metze@samba.org>2008-08-26 18:49:17 +0200
commit9080b5d979e2af4de1022513bdaa303306b1ca9b (patch)
treefc2c25e17adf0ef23b9821c69cee8137c69f1674 /source4/heimdal_build
parenta1bbd66b0f68d3d1bb1940bbf82d62b8e56acb4e (diff)
downloadsamba-9080b5d979e2af4de1022513bdaa303306b1ca9b.tar.gz
samba-9080b5d979e2af4de1022513bdaa303306b1ca9b.tar.bz2
samba-9080b5d979e2af4de1022513bdaa303306b1ca9b.zip
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)
Diffstat (limited to 'source4/heimdal_build')
-rw-r--r--source4/heimdal_build/internal.mk101
1 files changed, 101 insertions, 0 deletions
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
#######################