X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=Makefile.rules;h=52c3e324aea4ed2efb3f3a8e44ff577cc3c50e22;hb=a327e7fea987769152e06c10e58fea81ca2bc556;hp=380910818a3698ba1dd22fe8a7532ee57349483b;hpb=6057760793503f1c1e9387402f287a9f849fc57d;p=oota-llvm.git diff --git a/Makefile.rules b/Makefile.rules index 380910818a3..52c3e324aea 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -243,9 +243,10 @@ endif #-------------------------------------------------------------------------- # Utilities used while building the LLVM tree, which live in the utils dir # -BURG := $(LLVMTOOLCURRENT)/burg -RunBurg := $(BURG) $(BURG_OPTS) -TBLGEN := $(LLVMTOOLCURRENT)/tblgen +BURG := $(LLVMTOOLCURRENT)/burg +RunBurg := $(BURG) $(BURG_OPTS) +TBLGEN := $(LLVMTOOLCURRENT)/tblgen +LGCCLDPROG := $(LLVMTOOLCURRENT)/gccld #-------------------------------------------------------------------------- # The LLVM GCC front-end in C and C++ flavors @@ -374,11 +375,10 @@ endif # Libtool Objects # Srcs := $(sort $(basename $(Source))) -Objs := $(addsuffix .lo, $(Srcs)) -ObjectsO := $(addprefix $(BUILD_OBJ_DIR)/Release/,$(Objs)) -ObjectsP := $(addprefix $(BUILD_OBJ_DIR)/Profile/,$(Objs)) -ObjectsG := $(addprefix $(BUILD_OBJ_DIR)/Debug/,$(Objs)) -ObjectsBC := $(addprefix $(BUILD_OBJ_DIR)/BytecodeObj/,$(addsuffix .bc, $(Srcs))) +ObjectsO := $(Srcs:%=$(BUILD_OBJ_DIR)/Release/%.lo) +ObjectsP := $(Srcs:%=$(BUILD_OBJ_DIR)/Profile/%.lo) +ObjectsG := $(Srcs:%=$(BUILD_OBJ_DIR)/Debug/%.lo) +ObjectsBC := $(Srcs:%=$(BUILD_OBJ_DIR)/BytecodeObj/%.bc) # # The real objects underlying the libtool objects @@ -393,11 +393,11 @@ RObjectsG := $(addprefix $(BUILD_OBJ_DIR)/Debug/,$(RObjs)) #--------------------------------------------------------- ifdef DIRS -all install clean test bytecode :: +all install clean test bytecode stripped-bytecode:: $(VERB) for dir in ${DIRS}; do \ - $(MKDIR) $$dir; \ if [ ! -f $$dir/Makefile ]; \ then \ + $(MKDIR) $$dir; \ cp $(SourceDir)/$$dir/Makefile $$dir/Makefile; \ fi; \ ($(MAKE) -C $$dir $@) || exit 1; \ @@ -411,20 +411,26 @@ install :: $(addsuffix /.makeinstall , $(PARALLEL_DIRS)) clean :: $(addsuffix /.makeclean , $(PARALLEL_DIRS)) test :: $(addsuffix /.maketest , $(PARALLEL_DIRS)) bytecode :: $(addsuffix /.makebytecode, $(PARALLEL_DIRS)) - -%/.makeall %/.makeinstall %/.makeclean %/.maketest %/.makebytecode: - $(VERB) $(MKDIR) $(@D); cp $(SourceDir)/$(@D)/Makefile $(@D); $(MAKE) -C $(@D) $(subst $(@D)/.make,,$@) +stripped-bytecode :: $(addsuffix /.makestripped-bytecode, $(PARALLEL_DIRS)) + +%/.makeall %/.makeinstall %/.makeclean %/.maketest %/.makebytecode %/.makestripped-bytecode: + $(VERB) if [ ! -f $(@D)/Makefile ]; \ + then \ + $(MKDIR) $(@D); \ + cp $(SourceDir)/$(@D)/Makefile $(@D)/Makefile; \ + fi; \ + $(MAKE) -C $(@D) $(subst $(@D)/.make,,$@) endif # Handle directories that may or may not exist ifdef OPTIONAL_DIRS -all install clean test bytecode :: +all install clean test bytecode stripped-bytecode:: $(VERB) for dir in ${OPTIONAL_DIRS}; do \ if [ -d $(SourceDir)/$$dir ]; \ then\ - $(MKDIR) $$dir; \ if [ ! -f $$dir/Makefile ]; \ then \ + $(MKDIR) $$dir; \ cp $(SourceDir)/$$dir/Makefile $$dir/Makefile; \ fi; \ ($(MAKE) -C$$dir $@) || exit 1; \ @@ -830,6 +836,7 @@ $(LLVM_OBJ_ROOT)/config.status:: $(LLVM_SRC_ROOT)/configure # build tree. Makefile :: $(BUILD_SRC_DIR)/Makefile @${ECHO} "===== Updating Makefile from source dir: `dirname $<` =====" + $(MKDIR) $(@D) cp -f $< $@ #