diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2009-03-25 23:13:59 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2009-03-25 23:13:59 +0000 |
commit | f414217c6dad50030cd672a2e070a976cb7f66ab (patch) | |
tree | 6f930014cbf30b2e8920d55ba7829dbaf1bae967 /makefiles | |
parent | 0f8ba9b85c9b9d1e7878aea90add271b6b3b93bf (diff) | |
download | buildsystem-f414217c6dad50030cd672a2e070a976cb7f66ab.tar.gz buildsystem-f414217c6dad50030cd672a2e070a976cb7f66ab.tar.bz2 |
Guard against multiply defining processing rules.
svn path=/trunk/tools/buildsystem/; revision=6886
Diffstat (limited to 'makefiles')
-rw-r--r-- | makefiles/Makefile.top | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/makefiles/Makefile.top b/makefiles/Makefile.top index 0bc48fe..1acf49e 100644 --- a/makefiles/Makefile.top +++ b/makefiles/Makefile.top @@ -284,42 +284,55 @@ endif ############################################################################### DEPFILES := +BUILDFILES := ifeq ($(CC_CAN_BUILD_AND_DEP),yes) # C compiler can compile and dep simultaneously define dep_c - $$(BUILDDIR)/$2: $$(BUILDDIR)/stamp $1 + ifeq ($$(findstring $$(BUILDDIR)/$2,$$(DEPFILES)),) + $$(BUILDDIR)/$2: $$(BUILDDIR)/stamp $1 - DEPFILES += $$(BUILDDIR)/$2 + DEPFILES += $$(BUILDDIR)/$2 + endif endef define build_c - $$(BUILDDIR)/$2: $$(BUILDDIR)/stamp $1 + ifeq ($$(findstring $$(BUILDDIR)/$2,$$(BUILDFILES)),) + $$(BUILDDIR)/$2: $$(BUILDDIR)/stamp $1 $$(VQ)$$(ECHO) $$(ECHOFLAGS) " COMPILE: $1" $$(Q)$$(CC) -MMD -MP $$($3) -o $$@ -c $1 + BUILDFILES += $$(BUILDDIR)/$2 + endif + endef else # C compiler must calculate dependencies first, then compile (default) define dep_c - $$(BUILDDIR)/$2: $$(BUILDDIR)/stamp $1 + ifeq ($$(findstring $$(BUILDDIR)/$2,$$(DEPFILES)),) + $$(BUILDDIR)/$2: $$(BUILDDIR)/stamp $1 $$(VQ)$$(ECHO) $$(ECHOFLAGS) " DEP: $1" $$(Q)$$(RM) $$(RMFLAGS) $($@) $$(Q)$$(CC) $$($3) -MM $1 > $$@ $$(Q)$$(SED) $$(SEDFLAGS) -i 's,^.*:,$$@ $$(@:.d=.o):,' $$@ - DEPFILES += $$(BUILDDIR)/$2 + DEPFILES += $$(BUILDDIR)/$2 + endif endef define build_c - $$(BUILDDIR)/$2: $$(BUILDDIR)/stamp $1 + ifeq ($$(findstring $$(BUILDDIR)/$2,$$(BUILDFILES)),) + $$(BUILDDIR)/$2: $$(BUILDDIR)/stamp $1 $$(VQ)$$(ECHO) $$(ECHOFLAGS) " COMPILE: $1" $$(Q)$$(CC) $$($3) -o $$@ -c $1 + BUILDFILES += $(BUILDDIR)/$2 + endif + endef endif |