diff Makefile.src.in @ 11907:ae4ef10e7535 draft

(svn r16307) -Fix: makedepend can't handle the amount of files we have and it also miss some dependencies. That's why we introduce our custom implementation of makedepend.
author glx <glx@openttd.org>
date Thu, 14 May 2009 21:59:24 +0000
parents 48aced5a73d8
children 1be572ca9966
line wrap: on
line diff
--- a/Makefile.src.in
+++ b/Makefile.src.in
@@ -20,6 +20,7 @@
 TTD          = !!TTD!!
 STRGEN       = !!STRGEN!!
 ENDIAN_CHECK = !!ENDIAN_CHECK!!
+DEPEND       = !!DEPEND!!
 ENDIAN_FORCE = !!ENDIAN_FORCE!!
 OS           = !!OS!!
 STAGE        = !!STAGE!!
@@ -167,11 +168,18 @@
 -include Makefile.dep
 endif
 
+ifeq ("$(SRC_OBJS_DIR)/$(DEPEND)","$(MAKEDEPEND)")
+DEP := $(MAKEDEPEND)
+$(SRC_OBJS_DIR)/$(DEPEND): $(SRC_DIR)/depend/depend.cpp
+	$(E) '$(STAGE) Compiling and linking $(DEPEND)'
+	$(Q)$(CXX_HOST) -o $@ $<
+endif
+
 # Make sure that only 'make depend' ALWAYS triggers a recheck
 ifeq ($(filter depend, $(MAKECMDGOALS)),)
-Makefile.dep: $(FILE_DEP) $(SRCS:%=$(SRC_DIR)/%) $(CONFIG_CACHE_SOURCE)
+Makefile.dep: $(FILE_DEP) $(SRCS:%=$(SRC_DIR)/%) $(CONFIG_CACHE_SOURCE) $(DEP)
 else
-Makefile.dep: FORCE
+Makefile.dep: $(DEP) FORCE
 endif
 	$(E) '$(STAGE) DEP CHECK (all files)'
 	$(Q)rm -f Makefile.dep.tmp
@@ -291,7 +299,7 @@
 
 clean:
 	$(E) '$(STAGE) Cleaning up object files'
-	$(Q)rm -f $(DEPS) $(OBJS) $(TTD) $(TTD:%=$(BIN_DIR)/%) $(CONFIG_CACHE_COMPILER) $(CONFIG_CACHE_LINKER) $(CONFIG_CACHE_ENDIAN) $(CONFIG_CACHE_SOURCE) $(ENDIAN_TARGETS)
+	$(Q)rm -f $(DEPS) $(OBJS) $(TTD) $(DEPEND) $(TTD:%=$(BIN_DIR)/%) $(CONFIG_CACHE_COMPILER) $(CONFIG_CACHE_LINKER) $(CONFIG_CACHE_ENDIAN) $(CONFIG_CACHE_SOURCE) $(ENDIAN_TARGETS)
 
 mrproper: clean
 	$(Q)rm -f $(SRC_DIR)/rev.cpp $(SRC_DIR)/ottdres.rc