r9049: - add property dependencies to include/proto.h
authorStefan Metzmacher <metze@samba.org>
Thu, 4 Aug 2005 04:45:42 +0000 (04:45 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:31:12 +0000 (13:31 -0500)
- make some stuff easier

metze
(This used to be commit 14b92e8a085f7d1a011b1663bf2a2728a907b0af)

source4/build/smb_build/makefile.pm
source4/heimdal_build/config.mk
source4/main.mk

index 0c4df1836970d891c78f3abbc3783131bb0493db..59ae6c5c041334ac25e8d766f9a618a029053b02 100644 (file)
@@ -466,34 +466,12 @@ bin/.TARGET_$ctx->{NAME}:
 ";
 }
 
-sub _prepare_proto_rules()
+sub _prepare_clean_rules()
 {
        my $output = << '__EOD__';
-# Making this target will just make sure that the prototype files
-# exist, not necessarily that they are up to date.  Since they're
-# removed by 'make clean' this will always be run when you do anything
-# afterwards.
-proto_exists: include/proto.h
-
-delheaders: pch_clean
-       -rm -f $(builddir)/include/proto.h
-
-include/proto.h:
-       @cd $(srcdir) && $(SHELL) script/mkproto.sh "$(PERL)" \
-         -h _PROTO_H_ $(builddir)/include/proto.h \
-         $(PROTO_PROTO_OBJS)
-
-# 'make headers' or 'make proto' calls a subshell because we need to
-# make sure these commands are executed in sequence even for a
-# parallel make.
-headers: delheaders proto_exists
-
-proto: idl headers
-
-proto_test:
-       @[ -f $(builddir)/include/proto.h ] || $(MAKE) proto
-
-clean: delheaders heimdal_clean
+clean: heimdal_clean
+       @echo Removing headers
+       @-rm -f include/proto.h
        @echo Removing objects
        @-find . -name '*.o' -exec rm -f '{}' \;
        @echo Removing binaries
@@ -577,7 +555,7 @@ sub _prepare_rule_lists($)
                ($output .= _prepare_custom_rule($key) ) if $key->{TYPE} eq "TARGET";
        }
 
-       $output .= _prepare_proto_rules();
+       $output .= _prepare_clean_rules();
 
        return $output;
 }
index 70e5a22173675dd84103ec2819e9bb64ad28efb9..860b4b94bde26d8e7bb23689e78642b133fe6614 100644 (file)
@@ -395,6 +395,18 @@ include ./heimdal_build/et_deps.pl heimdal/lib/krb5/heim_err.et|
 include ./heimdal_build/et_deps.pl heimdal/lib/krb5/k524_err.et|
 include ./heimdal_build/et_deps.pl heimdal/lib/krb5/krb5_err.et|
 
+heimdal_basics: \
+       heimdal/lib/hdb/hdb_asn1.h \
+       heimdal/lib/gssapi/spnego_asn1.h \
+       heimdal/lib/asn1/krb5_asn1.h \
+       heimdal/lib/roken/vis.h \
+       heimdal/lib/roken/err.h \
+       heimdal/lib/asn1/asn1_err.h \
+       heimdal/lib/hdb/hdb_err.h \
+       heimdal/lib/krb5/heim_err.h \
+       heimdal/lib/krb5/k524_err.h \
+       heimdal/lib/krb5/krb5_err.h
+
 heimdal_clean:
        @echo Removing generated ASN1 files
        @-find heimdal/lib/asn1 -name 'asn1_*.[cx]' -exec rm -f '{}' \;
index 288c4daa7138e676261a4865e651f8da28fd3c30..5214f480475923107a060ff92b0c357f3a11773a 100644 (file)
@@ -52,7 +52,7 @@ include kdc/config.mk
 include lib/replace/config.mk
 include scripting/ejs/config.mk
 
-all: proto bin/asn1_compile bin/compile_et basics binaries
+all: binary_asn1_compile binary_compile_et binaries
 binaries: $(BIN_PROGS) $(SBIN_PROGS)
 manpages: $(MANPAGES)
 everything: all
@@ -141,12 +141,25 @@ smb_interfaces: build/pidl/smb_interfaces.pm
 build/pidl/smb_interfaces.pm: build/pidl/smb_interfaces.yp
        -yapp -s -m 'smb_interfaces' -o build/pidl/smb_interfaces.pm build/pidl/smb_interfaces.yp 
 
-pch: proto include/includes.h.gch
+include/config.h:
+       @echo "include/config.h not present"
+       @echo "You need to rerun ./autogen.sh and ./configure"
+       @/bin/false
+
+include/proto.h: $(PROTO_PROTO_OBJS:.o=.c)
+       @-rm -f include/includes.h.gch
+       @$(SHELL) script/mkproto.sh "$(PERL)" \
+         -h _PROTO_H_ include/proto.h \
+         $(PROTO_PROTO_OBJS)
+       @touch include/proto.h
 
-pch_clean:
-       -rm -f include/includes.h.gch
+proto: include/proto.h
+pch: proto include/includes.h.gch
 
-basics: idl proto_exists heimdal/lib/hdb/hdb_asn1.h heimdal/lib/gssapi/spnego_asn1.h heimdal/lib/asn1/krb5_asn1.h heimdal/lib/roken/vis.h heimdal/lib/roken/err.h heimdal/lib/asn1/asn1_err.h heimdal/lib/hdb/hdb_err.h heimdal/lib/krb5/heim_err.h heimdal/lib/krb5/k524_err.h heimdal/lib/krb5/krb5_err.h
+basics: include/config.h \
+       include/proto.h \
+       idl \
+       heimdal_basics
 
 test: $(DEFAULT_TEST_TARGET)