[vmkit-commits] [vmkit] r180407 - auto dependencies are ok

Peter Senna Tschudin peter.senna at gmail.com
Thu Apr 25 10:09:35 PDT 2013


Author: peter.senna
Date: Thu Apr 25 12:06:42 2013
New Revision: 180407

URL: http://llvm.org/viewvc/llvm-project?rev=180407&view=rev
Log:
auto dependencies are ok
(cherry picked from commit 342f4c33f587e4ddc46255db692154ea7d4dec5a)

Modified:
    vmkit/trunk/Makefile.common.in
    vmkit/trunk/Makefile.rules
    vmkit/trunk/lib/j3/ClassLib/GNUClasspath/Makefile
    vmkit/trunk/lib/j3/Compiler/Makefile
    vmkit/trunk/lib/j3/VMCore/Makefile

Modified: vmkit/trunk/Makefile.common.in
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/Makefile.common.in?rev=180407&r1=180406&r2=180407&view=diff
==============================================================================
--- vmkit/trunk/Makefile.common.in (original)
+++ vmkit/trunk/Makefile.common.in Thu Apr 25 12:06:42 2013
@@ -2,6 +2,8 @@
 PROJECT_NAME := @PACKAGE_NAME@
 PROJ_VERSION := @PACKAGE_VERSION@
 
+realpath=$(shell cd $(1); $(PWD))
+
 # Set the directory root of this project's source files
 PROJ_SRC_ROOT := $(subst //,/, at abs_top_srcdir@)
 VMKIT_SRC_ROOT := $(PROJ_SRC_ROOT)
@@ -10,6 +12,9 @@ VMKIT_SRC_ROOT := $(PROJ_SRC_ROOT)
 PROJ_OBJ_ROOT := $(subst //,/, at abs_top_builddir@)
 VMKIT_OBJ_ROOT := $(PROJ_OBJ_ROOT)
 
+PROJ_OBJ_CWD:= $(call realpath, .)
+PROJ_SRC_CWD:= $(call realpath, $(patsubst $(PROJ_OBJ_ROOT)%,$(PROJ_SRC_ROOT)%,$(PROJ_OBJ_CWD)))
+
 # Set the root directory of this project's install prefix
 PROJ_INSTALL_ROOT := @prefix@
 

Modified: vmkit/trunk/Makefile.rules
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/Makefile.rules?rev=180407&r1=180406&r2=180407&view=diff
==============================================================================
--- vmkit/trunk/Makefile.rules (original)
+++ vmkit/trunk/Makefile.rules Thu Apr 25 12:06:42 2013
@@ -1,5 +1,4 @@
 
-
 .PHONY: all tidy clean confclean
 .SECONDARY:
 .SUFFIXES: .c .cpp .cxx .cc .h .hpp .o .a .bc .ll $(SHLIBEXT) $(SUFFIXES)
@@ -51,7 +50,6 @@ endif
 ###############################################################################
 #   Recursive target managment
 ###############################################################################
-#SELF=$(PROJ_SRC_ROOT)/Makefile.rules Makefile $(PROJ_SRC_ROOT)/Makefile.common
 RECURSIVE_TARGETS=all clean
 
 $(RECURSIVE_TARGETS)::
@@ -80,29 +78,31 @@ confclean: distclean
 ###############################################################################
 #   Build system managment
 ###############################################################################
-SELF=$(LEVEL)/Makefile.rules Makefile $(PROJ_SRC_ROOT)/Makefile.common
+#SELF=$(PROJ_SRC_ROOT)/Makefile.rules $(PROJ_OBJ_ROOT)/Makefile.common Makefile
+
+$(LEVEL)/Makefile.common: $(PROJ_SRC_ROOT)/Makefile.common
 
 define define_config_rule
-$(LEVEL)/$1: $1.in $(PROJ_SRC_ROOT)/configure
-	$(Echo) Regenerating project files $$@
-	$(Verb) cd $(PROJ_OBJ_ROOT) && ./config.status -q --$2=$$@
+$$(PROJ_OBJ_ROOT)/$1: $$(PROJ_SRC_ROOT)/$1.in $$(PROJ_SRC_ROOT)/configure
+	$(Echo) "Regenerating project files $$@"
+	$(Verb) cd $(PROJ_OBJ_ROOT) && ./config.status -q --$2=$1
 	$(Verb) touch $$@
 endef
 
 $(foreach cur,$(CONFIG_FILES),$(eval $(call define_config_rule,$(cur),file)))
 $(foreach cur,$(CONFIG_HEADERS),$(eval $(call define_config_rule,$(cur),header)))
 
-$(PROJ_SRC_ROOT)/configure: $(PROJ_SRC_ROOT)/autoconf/configure.ac $(PROJ_SRC_ROOT)/autoconf/AutoRegen.sh 
+$(PROJ_OBJ_ROOT)/configure: $(PROJ_SRC_ROOT)/autoconf/configure.ac $(PROJ_SRC_ROOT)/autoconf/AutoRegen.sh 
 	$(Echo) Rebootstraping project
 	$(Verb) cd $(PROJ_SRC_ROOT)/autoconf && ./AutoRegen.sh
-	$(Verb) ./config.status --recheck
+	$(Verb) cd $(PROJ_OBJ_ROOT) && ./config.status --recheck
 
 ###############################################################################
 #   Build directories
 ###############################################################################
 BIN_DIR=$(PROJ_OBJ_ROOT)/$(BUILD_NAME)/bin
 LIB_DIR=$(PROJ_OBJ_ROOT)/$(BUILD_NAME)/lib
-BUILD_DIR=$(BUILD_NAME)
+BUILD_DIR=$(PROJ_OBJ_CWD)/$(BUILD_NAME)
 
 LLVM_BIN=$(shell $(LLVM_CONFIG) --bindir)
 
@@ -160,12 +160,13 @@ ifdef MODULE
 MODULE_A=$(LIB_DIR)/lib$(MODULE).a
 MODULE_BC=$(LIB_DIR)/$(MODULE).bc
 
-BC_FILES+=$(patsubst %.c,$(BUILD_DIR)/%$(WITH_GC).bc,$(wildcard *.c)) \
-          $(patsubst %.cc,$(BUILD_DIR)/%$(WITH_GC).bc,$(wildcard *.cc)) \
-          $(patsubst %.cpp,$(BUILD_DIR)/%$(WITH_GC).bc,$(wildcard *.cpp)) \
-          $(patsubst %,$(BUILD_DIR)/%$(WITH_GC).bc,$(GEN))
+BASE_FILES+=$(patsubst %.c,$(BUILD_DIR)/%,$(wildcard *.c)) \
+            $(patsubst %.cc,$(BUILD_DIR)/%,$(wildcard *.cc)) \
+            $(patsubst %.cpp,$(BUILD_DIR)/%,$(wildcard *.cpp)) \
+            $(patsubst %,$(BUILD_DIR)/%,$(GEN))
 
-OBJ_FILES=$(patsubst %.bc,%.o,$(BC_FILES))
+BC_FILES=$(addsuffix $(WITH_GC).bc,$(BASE_FILES))
+OBJ_FILES=$(addsuffix $(WITH_GC).o,$(BASE_FILES))
 
 all:: $(MODULE_A)
 
@@ -304,8 +305,7 @@ endif
 #   NEW BUILD SYSTEM
 #
 #
-#-I$(BUILD_DIR) 
-INCLUDES+=-I. -I$(PROJ_SRC_ROOT)/include -I$(PROJ_SRC_ROOT)/lib/vmkit/MMTk -I$(BUILD_DIR)
+INCLUDES+=-I$(PROJ_SRC_CWD) -I$(PROJ_SRC_ROOT)/include -I$(PROJ_SRC_ROOT)/lib/vmkit/MMTk -I$(BUILD_DIR)
 
 # should remove no-unused-variable                                                                                                         
 WARN_CFLAGS=  -Wall -Wno-long-long -Wno-variadic-macros -Wno-unused-private-field -Wno-unused-variable
@@ -352,6 +352,6 @@ $(eval $(call define_compile_rule,.c,$(C
 
 ifneq ($(MAKECMDGOALS),tidy)
 ifneq ($(MAKECMDGOALS),clean)
--include $(patsubst %.o, %.d, $(OBJ_FILES))
+-include $(addsuffix .d,$(BASE_FILES))
 endif
 endif

Modified: vmkit/trunk/lib/j3/ClassLib/GNUClasspath/Makefile
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/GNUClasspath/Makefile?rev=180407&r1=180406&r2=180407&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/GNUClasspath/Makefile (original)
+++ vmkit/trunk/lib/j3/ClassLib/GNUClasspath/Makefile Thu Apr 25 12:06:42 2013
@@ -11,7 +11,7 @@ LEVEL = ../../../..
 include $(LEVEL)/Makefile.config
 
 MODULE_WITH_GC=Classpath
-INCLUDES+=-I../../VMCore -I..
+INCLUDES+=-I$(PROJ_SRC_ROOT)/lib/j3/VMCore -I$(PROJ_SRC_ROOT)/lib/j3/ClassLib
 
 include $(LEVEL)/Makefile.common
 

Modified: vmkit/trunk/lib/j3/Compiler/Makefile
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/Compiler/Makefile?rev=180407&r1=180406&r2=180407&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/Compiler/Makefile (original)
+++ vmkit/trunk/lib/j3/Compiler/Makefile Thu Apr 25 12:06:42 2013
@@ -11,6 +11,6 @@ LEVEL = ../../..
 include $(LEVEL)/Makefile.config
 
 MODULE_WITH_GC = J3Compiler
-INCLUDES+=-I../ClassLib/$(CLASSPATH_DIR) -I../ClassLib/ -I../VMCore -I../LLVMRuntime/$(BUILD_DIR)
+INCLUDES+=-I$(PROJ_SRC_ROOT)/lib/j3/ClassLib/$(CLASSPATH_DIR) -I$(PROJ_SRC_ROOT)/lib/j3/ClassLib -I$(PROJ_SRC_ROOT)/lib/j3/VMCore -I$(PROJ_SRC_ROOT)/lib/j3/LLVMRuntime
 
 include $(LEVEL)/Makefile.common

Modified: vmkit/trunk/lib/j3/VMCore/Makefile
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/Makefile?rev=180407&r1=180406&r2=180407&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/Makefile (original)
+++ vmkit/trunk/lib/j3/VMCore/Makefile Thu Apr 25 12:06:42 2013
@@ -13,7 +13,7 @@ EXTRA_DIST = JniClasspath.inc JniOpenJDK
 include $(LEVEL)/Makefile.config
 
 MODULE_WITH_GC = J3
-INCLUDES+=-I../ClassLib -I../ClassLib/$(CLASSPATH_DIR)
+INCLUDES+=-I$(PROJ_SRC_ROOT)/lib/j3/ClassLib/$(CLASSPATH_DIR) -I$(PROJ_SRC_ROOT)/lib/j3/ClassLib
 
 include $(LEVEL)/Makefile.common
 





More information about the vmkit-commits mailing list