From 58a93ef94b878ff2d2d0029fc2d443551842e712 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 25 Feb 2008 18:05:47 +0100 Subject: [PATCH] Move automatic dependencies code out of perl code. --- source/Makefile | 30 +++++++++++++++++++++++- source/build/smb_build/makefile.pm | 37 ++---------------------------- source/rules.mk | 3 --- 3 files changed, 31 insertions(+), 39 deletions(-) diff --git a/source/Makefile b/source/Makefile index 1fddfefce3b..97518ebcb69 100644 --- a/source/Makefile +++ b/source/Makefile @@ -19,11 +19,39 @@ BNLD_FLAGS = $(LDFLAGS) $(SYS_LDFLAGS) HOSTCC_FLAGS = -D_SAMBA_HOSTCC_ $(CFLAGS) HOSTLD_FLAGS = $(LDFLAGS) $(SYS_LDFLAGS) -default: all +.DEFAULT_GOAL := all + +ifneq ($(automatic_deps),yes) +ALL_PREDEP = proto +.NOTPARALLEL: +endif include rules.mk include data.mk +DEP_FILES = $(patsubst %.ho,%.hd,$(patsubst %.o,%.d,$(ALL_OBJS))) \ + include/includes.d + +ifeq ($(automatic_deps),yes) +ifneq ($(MAKECMDGOALS),clean) +ifneq ($(MAKECMDGOALS),distclean) +ifneq ($(MAKECMDGOALS),realdistclean) +ifneq ($(SKIP_DEP_FILES),yes) +-include $(DEP_FILES) +endif +endif +endif +endif + +ifneq ($(SKIP_DEP_FILES),yes) +clean:: + @echo Removing dependency files + @find . -name '*.d' -o -name '*.hd' | xargs rm -f +endif +else +include $(srcdir)/static_deps.mk +endif + DEFAULT_HEADERS = $(srcdir)/lib/util/dlinklist.h \ $(srcdir)/version.h diff --git a/source/build/smb_build/makefile.pm b/source/build/smb_build/makefile.pm index c5cc3d3e8cf..26f986eacf9 100644 --- a/source/build/smb_build/makefile.pm +++ b/source/build/smb_build/makefile.pm @@ -30,11 +30,6 @@ sub new($$$) $self->output("################################################\n"); $self->output("\n"); - if (!$self->{automatic_deps}) { - $self->output("ALL_PREDEP = proto\n"); - $self->output(".NOTPARALLEL:\n"); - } - return $self; } @@ -78,23 +73,17 @@ sub _prepare_mk_files($) push (@tmp, $_); } - if ($self->{gnu_make}) { - $self->output(" + $self->output(" ifneq (\$(MAKECMDGOALS),clean) ifneq (\$(MAKECMDGOALS),distclean) ifneq (\$(MAKECMDGOALS),realdistclean) "); - } - $self->output("MK_FILES = " . array2oneperline(\@tmp) . "\n"); - - if ($self->{gnu_make}) { - $self->output(" + $self->output(" endif endif endif "); - } } sub array2oneperline($) @@ -369,28 +358,6 @@ sub write($$) $self->output($self->{mkfile}); - if ($self->{automatic_deps}) { - $self->output(" -ifneq (\$(MAKECMDGOALS),clean) -ifneq (\$(MAKECMDGOALS),distclean) -ifneq (\$(MAKECMDGOALS),realdistclean) -ifneq (\$(SKIP_DEP_FILES),yes) --include \$(DEP_FILES) -endif -endif -endif -endif - -ifneq (\$(SKIP_DEP_FILES),yes) -clean:: - \@echo Removing dependency files - \@find . -name '*.d' -o -name '*.hd' | xargs rm -f -endif -"); - } else { - $self->output("include \$(srcdir)/static_deps.mk\n"); - } - open(MAKEFILE,">$file") || die ("Can't open $file\n"); print MAKEFILE $self->{output}; close(MAKEFILE); diff --git a/source/rules.mk b/source/rules.mk index d0be997d0cd..5f91f8132e9 100644 --- a/source/rules.mk +++ b/source/rules.mk @@ -162,9 +162,6 @@ DOCBOOK_MANPAGE_URL = http://docbook.sourceforge.net/release/xsl/current/manpage .8.xml.8: $(XSLTPROC) -o $@ $(DOCBOOK_MANPAGE_URL) $< -DEP_FILES = $(patsubst %.ho,%.hd,$(patsubst %.o,%.d,$(ALL_OBJS))) \ - include/includes.d - dist:: idl_full manpages configure distclean configure: -- 2.34.1