Make llvm-config.in configuration more MSYS-friendly.
[oota-llvm.git] / tools / llvm-config / Makefile
index e5bdc04063f92770bdb0dd8c39fb40dedcd6d5a8..c7f7b3234d64b6633f3ae2c6c2b8cabbc6e01dbf 100644 (file)
@@ -53,6 +53,46 @@ llvm-config.in: $(ConfigInIn) $(ConfigStatusScript)
        $(Verb) cd $(PROJ_OBJ_ROOT) ; \
                $(ConfigStatusScript) tools/llvm-config/llvm-config.in
 
+llvm-config-perobj: llvm-config.in $(GenLibDeps) $(LibDir) $(wildcard $(LibDir)/*.a)
+       $(Echo) "Generating llvm-config-perobj"
+       $(Verb) $(PERL) $(GenLibDeps) -perobj -flat $(LibDir) "$(NM_PATH)" >PerobjDeps.txt
+       $(Echo) "Checking for cyclic dependencies between LLVM objects."
+       $(Verb) $(PERL) $(PROJ_SRC_DIR)/find-cycles.pl < PerobjDepsIncl.txt > PerobjDepsInclFinal.txt || rm -f $@
+       $(Verb) $(ECHO) 's/@LLVM_CPPFLAGS@/$(subst /,\/,$(SUB_CPPFLAGS))/' \
+       > temp.sed
+       $(Verb) $(ECHO) 's/@LLVM_CFLAGS@/$(subst /,\/,$(SUB_CFLAGS))/' \
+       >> temp.sed
+       $(Verb) $(ECHO) 's/@LLVM_CXXFLAGS@/$(subst /,\/,$(SUB_CXXFLAGS))/' \
+       >> temp.sed
+       $(Verb) $(ECHO) 's/@LLVM_LDFLAGS@/$(subst /,\/,$(SUB_LDFLAGS))/' \
+       >> temp.sed
+       $(Verb) $(ECHO) 's/@LLVM_BUILDMODE@/$(subst /,\/,$(BuildMode))/' \
+       >> temp.sed
+       $(Verb) $(SED) -f temp.sed < $< > $@
+       $(Verb) $(RM) temp.sed
+       $(Verb) cat PerobjDepsFinal.txt >> $@
+       $(Verb) chmod +x $@
+
+llvm-config-perobjincl: llvm-config.in $(GenLibDeps) $(LibDir) $(wildcard $(LibDir)/*.a)
+       $(Echo) "Generating llvm-config-perobjincl"
+       $(Verb) $(PERL) $(GenLibDeps) -perobj -perobjincl -flat $(LibDir) "$(NM_PATH)" >PerobjDepsIncl.txt
+       $(Echo) "Checking for cyclic dependencies between LLVM objects."
+       $(Verb) $(PERL) $(PROJ_SRC_DIR)/find-cycles.pl < PerobjDepsIncl.txt > PerobjDepsInclFinal.txt
+       $(Verb) $(ECHO) 's/@LLVM_CPPFLAGS@/$(subst /,\/,$(SUB_CPPFLAGS))/' \
+       > temp.sed
+       $(Verb) $(ECHO) 's/@LLVM_CFLAGS@/$(subst /,\/,$(SUB_CFLAGS))/' \
+       >> temp.sed
+       $(Verb) $(ECHO) 's/@LLVM_CXXFLAGS@/$(subst /,\/,$(SUB_CXXFLAGS))/' \
+       >> temp.sed
+       $(Verb) $(ECHO) 's/@LLVM_LDFLAGS@/$(subst /,\/,$(SUB_LDFLAGS))/' \
+       >> temp.sed
+       $(Verb) $(ECHO) 's/@LLVM_BUILDMODE@/$(subst /,\/,$(BuildMode))/' \
+       >> temp.sed
+       $(Verb) $(SED) -f temp.sed < $< > $@
+       $(Verb) $(RM) temp.sed
+       $(Verb) cat PerobjDepsInclFinal.txt >> $@
+       $(Verb) chmod +x $@
+
 # Build our final script.
 $(ToolDir)/llvm-config: llvm-config.in $(FinalLibDeps)
        $(Echo) "Building llvm-config script."
@@ -86,6 +126,6 @@ clean-local::
          $(LibDeps) GenLibDeps.out
 install-local:: all-local
        $(Echo) Installing llvm-config
-       $(Verb) $(MKDIR) $(PROJ_bindir)
-       $(Verb) $(ScriptInstall) $(ToolDir)/llvm-config $(PROJ_bindir)
+       $(Verb) $(MKDIR) $(DESTDIR)$(PROJ_bindir)
+       $(Verb) $(ScriptInstall) $(ToolDir)/llvm-config $(DESTDIR)$(PROJ_bindir)