diff options
-rw-r--r-- | source4/build/smb_build/config_mk.pm | 1 | ||||
-rw-r--r-- | source4/build/smb_build/makefile.pm | 7 | ||||
-rw-r--r-- | source4/librpc/config.mk | 5 | ||||
-rw-r--r-- | source4/main.mk | 17 |
4 files changed, 22 insertions, 8 deletions
diff --git a/source4/build/smb_build/config_mk.pm b/source4/build/smb_build/config_mk.pm index 7827315541..1475ee09ee 100644 --- a/source4/build/smb_build/config_mk.pm +++ b/source4/build/smb_build/config_mk.pm @@ -152,6 +152,7 @@ sub run_config_mk($$$) # global stuff is considered part of the makefile if ($section eq "GLOBAL") { + if (!$infragment) { $makefile.="\n"; } $makefile .= $line; $infragment = 1; next; diff --git a/source4/build/smb_build/makefile.pm b/source4/build/smb_build/makefile.pm index 4bf2e11b6e..e8761bfb8c 100644 --- a/source4/build/smb_build/makefile.pm +++ b/source4/build/smb_build/makefile.pm @@ -505,12 +505,9 @@ sub write($$) if ($self->{developer}) { $self->output(<<__EOD__ + #-include \$(ALL_OBJS:.o=.d) -IDL_FILES = \$(wildcard librpc/idl/*.idl) -\$(patsubst librpc/idl/%.idl,librpc/gen_ndr/ndr_%.c,\$(IDL_FILES)) \\ -\$(patsubst librpc/idl/%.idl,librpc/gen_ndr/ndr_\%_c.c,\$(IDL_FILES)) \\ -\$(patsubst librpc/idl/%.idl,librpc/gen_ndr/ndr_\%_ejs.c,\$(IDL_FILES)) \\ -\$(patsubst librpc/idl/%.idl,librpc/gen_ndr/ndr_%.h,\$(IDL_FILES)): idl + __EOD__ ); } diff --git a/source4/librpc/config.mk b/source4/librpc/config.mk index 52f9a7589b..a42c1b8e03 100644 --- a/source4/librpc/config.mk +++ b/source4/librpc/config.mk @@ -296,9 +296,8 @@ OBJ_FILES = gen_ndr/ndr_winsrepl.o NOPROTO = YES REQUIRED_SUBSYSTEMS = LIBNDR NDR_NBT -librpc/gen_ndr/tables.c: $(patsubst librpc/idl/%.idl,librpc/gen_ndr/ndr_%.h,$(IDL_FILES)) - @$(PERL) librpc/tables.pl --output=librpc/gen_ndr/tables.c $^ - +librpc/gen_ndr/tables.c: $(IDL_NDR_HEADER_FILES) + @$(PERL) $(srcdir)/librpc/tables.pl --output=librpc/gen_ndr/tables.c $(IDL_NDR_HEADER_FILES) [SUBSYSTEM::NDR_IFACE_TABLE] OBJ_FILES = gen_ndr/tables.o diff --git a/source4/main.mk b/source4/main.mk index 5257497956..e4cdd816b0 100644 --- a/source4/main.mk +++ b/source4/main.mk @@ -181,6 +181,23 @@ pidl/Makefile: pidl/Makefile.PL installpidl: pidl/Makefile cd pidl && $(MAKE) install +IDL_FILES = $(wildcard librpc/idl/*.idl) +IDL_HEADER_FILES = $(patsubst librpc/idl/%.idl,librpc/gen_ndr/%.h,$(IDL_FILES)) +IDL_NDR_HEADER_FILES = $(patsubst librpc/idl/%.idl,librpc/gen_ndr/ndr_%.h,$(IDL_FILES)) +IDL_NDR_PARSE_C_FILES = $(patsubst librpc/idl/%.idl,librpc/gen_ndr/ndr_%.c,$(IDL_FILES)) +IDL_NDR_CLIENT_C_FILES = $(patsubst librpc/idl/%.idl,librpc/gen_ndr/ndr_%_c.c,$(IDL_FILES)) +IDL_NDR_SERVER_C_FILES = $(patsubst librpc/idl/%.idl,librpc/gen_ndr/ndr_%_s.c,$(IDL_FILES)) +IDL_NDR_EJS_C_FILES = $(patsubst librpc/idl/%.idl,librpc/gen_ndr/ndr_%_ejs.c,$(IDL_FILES)) +IDL_NDR_EJS_H_FILES = $(patsubst librpc/idl/%.idl,librpc/gen_ndr/ndr_%_ejs.h,$(IDL_FILES)) + +$(IDL_HEADER_FILES): idl +$(IDL_NDR_HEADER_FILES): idl +$(IDL_NDR_PARSE_C_FILES): idl +$(IDL_NDR_CLIENT_C_FILES): idl +$(IDL_NDR_SERVER_C_FILES): idl +$(IDL_NDR_EJS_C_FILES): idl +$(IDL_NDR_EJS_H_FILES): idl + idl_full: pidl/lib/Parse/Pidl/IDL.pm @CPP="$(CPP)" PERL="$(PERL)" script/build_idl.sh FULL $(PIDL_ARGS) |