[vmkit-commits] [vmkit] r180397 - fix shared library to only use my variables
Peter Senna Tschudin
peter.senna at gmail.com
Thu Apr 25 10:07:25 PDT 2013
Author: peter.senna
Date: Thu Apr 25 12:05:44 2013
New Revision: 180397
URL: http://llvm.org/viewvc/llvm-project?rev=180397&view=rev
Log:
fix shared library to only use my variables
(cherry picked from commit 5134cdca114c7bdb5856ab79dd23ddabf497fb7c)
Modified:
vmkit/trunk/Makefile.rules
Modified: vmkit/trunk/Makefile.rules
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/Makefile.rules?rev=180397&r1=180396&r2=180397&view=diff
==============================================================================
--- vmkit/trunk/Makefile.rules (original)
+++ vmkit/trunk/Makefile.rules Thu Apr 25 12:05:44 2013
@@ -78,29 +78,18 @@ endif
#SELF=$(PROJ_SRC_ROOT)/Makefile.rules Makefile $(PROJ_SRC_ROOT)/Makefile.common
###############################################################################
-# Linking
+# Main targets
###############################################################################
-DEP_LIBS=$(patsubst %,$(LIB_DIR)/lib%.a,$(MODULE) $(USE) $(USE))
-
ifdef TOOL
MODULE=$(TOOL)
all:: $(BIN_DIR)/$(TOOL)$(EXEEXT)
-
-$(BIN_DIR)/$(TOOL)$(EXEEXT): $(DEP_LIBS) $(SELF) $(BIN_DIR)/.dir
- $(Echo) 'Linking executable: $(notdir $@)'
- $(Verb) $(CLANGXX) -o $@ $(DEP_LIBS) $(MY_LIBS) $(MY_LDFLAGS)
-
endif
ifdef LIBRARY
MODULE=$(LIBRARY)
all:: $(LIB_DIR)/$(LIBRARY)$(SHLIBEXT)
-
-$(LIB_DIR)/$(LIBRARY)$(SHLIBEXT): $(DEP_LIBS) $(SELF) $(LIB_DIR)/.dir
- $(Echo) "Linking shared library: $(notdir $@)"
- $(Verb) $(CLANGXX) -O0 -o $@ $(SHOPT) -Wl,-R -Wl,'$ORIGIN' -shared $(ObjectsO)
endif
###############################################################################
@@ -147,17 +136,30 @@ clean-local::
endif
$(MODULE_A): $(OBJ_FILES) $(SELF) $(LIB_DIR)/.dir
- $(Echo) "Building archive: $(notdir $@)"
+ $(Echo) "Building archive '$(notdir $@)'"
-$(Verb) $(RM) -f $@
$(Verb) $(Archive) $@ $(OBJ_FILES)
$(Verb) $(Ranlib) $@
$(MODULE_BC): $(BC_FILES) $(SELF) $(LIB_DIR)/.dir
- $(Echo) "Building module: $(notdir $@)"
+ $(Echo) "Building module '$(notdir $@)'"
$(Verb) $(LLVMLINK) $(BC_FILES) -o $(MODULE_BC)
endif
+###############################################################################
+# Linking
+###############################################################################
+DEP_LIBS=$(patsubst %,$(LIB_DIR)/lib%.a,$(USE) $(USE))
+
+$(BIN_DIR)/$(TOOL)$(EXEEXT): $(MODULE_A) $(DEP_LIBS) $(SELF) $(BIN_DIR)/.dir
+ $(Echo) "Linking executable '$(notdir $@)'"
+ $(Verb) $(CLANGXX) -o $@ $(MODULE_A) $(DEP_LIBS) $(MY_LIBS) $(MY_LDFLAGS)
+
+$(LIB_DIR)/$(LIBRARY)$(SHLIBEXT): $(MODULE_A) $(DEP_LIBS) $(SELF) $(LIB_DIR)/.dir
+ $(Echo) "Linking shared library '$(notdir $@)'"
+ $(Verb) $(CLANGXX) -O0 -o $@ $(SHOPT) -shared -Wl,--whole-archive $(MODULE_A) -Wl,--no-whole-archive $(DEP_LIBS)
+
#
#
# OLD BUILD SYSTEM
@@ -285,24 +287,24 @@ $(LibName.BCA): $(ObjectsBC) $(LibDir)/.
$(Verb) $(LArchive) $@ $(ObjectsBC)
$(BUILD_DIR)/%-gc.o: $(BUILD_DIR)/%-gc.bc $(LLC) $(SELF)
- $(Echo) "Assembling: $(notdir $<)"
+ $(Echo) "Assembling '$(notdir $<)'"
$(Verb) $(LLC) -relocation-model=pic -filetype=obj -disable-cfi -disable-fp-elim -load=$(PREPARE_CODE) $< -o $@
$(BUILD_DIR)/%.o: $(BUILD_DIR)/%.bc $(LLC) $(SELF)
- $(Echo) "Assembling: $(notdir $<)"
+ $(Echo) "Assembling '$(notdir $<)'"
$(Verb) $(LLC) -relocation-model=pic -filetype=obj -disable-cfi -disable-fp-elim $< -o $@
$(BUILD_DIR)/%-gc.bc: $(BUILD_DIR)/%.bc $(LOPT) $(PREPARE_CODE) $(SELF)
- $(Echo) "Preparing for gc: $(notdir $<)"
+ $(Echo) "Preparing for gc '$(notdir $<)'"
$(Verb) $(LOPT) $< -load=$(PREPARE_CODE) -StaticGCPass -o $@
define define_compile_rule
$(BUILD_DIR)/%.bc: %$1 $(SELF) $(FRAMETABLES) $(BUILD_DIR)/.dir
- $(Echo) "Compiling: $(notdir $$<)"
+ $(Echo) "Compiling '$(notdir $$<)'"
$(Verb) if $2 $3 $(DEPEND_OPTIONS) -emit-llvm -c "$$<" -o $$@; $(DOM)
$(BUILD_DIR)/%.bc: $(BUILD_DIR)/%$1 $(FRAMETABLES) $(SELF) $(BUILD_DIR)/.dir
- $(Echo) "Compiling: $(notdir $$<)"
+ $(Echo) "Compiling '$(notdir $$<)'"
$(Verb) if $2 $3 $(DEPEND_OPTIONS) -emit-llvm -c "$$<" -o $$@; $(DOM)
endef
More information about the vmkit-commits
mailing list