-#===-- Makefile.rules - Common make rules for LLVM -------*- makefile -*--====
-#
+#===-- Makefile.rules - Common make rules for LLVM ---------*- Makefile -*--===#
+#
# The LLVM Compiler Infrastructure
#
# This file was developed by the LLVM research group and is distributed under
# the University of Illinois Open Source License. See LICENSE.TXT for details.
#
-##===----------------------------------------------------------------------===##
+#===------------------------------------------------------------------------===#
#
# This file is included by all of the LLVM makefiles. This file defines common
# rules to do things like compile a .cpp file or generate dependency info.
# if BYTECODE_LIBRARY is specified, the default is to build the bytecode lib
all:: bytecodelib
install:: install-bytecode-library
+install-bytecode:: install-bytecode-library
endif
# Default Rule: Make sure it's also a :: rule
# Default rule for building only bytecode.
bytecode::
+# Default rule for installing only bytecode.
+install-bytecode::
+
# Print out the directories used for building
prdirs::
@${ECHO} "Build Source Root: " $(BUILD_SRC_ROOT)
#--------------------------------------------------------------------------
# Utilities used while building the LLVM tree, which live in the utils dir
#
-BURG := $(LLVMTOOLCURRENT)/burg
+BURG := $(LLVMTOOLCURRENT)/burg$(EXEEXT)
RunBurg := $(BURG) $(BURG_OPTS)
-TBLGEN := $(LLVMTOOLCURRENT)/tblgen
-LGCCLDPROG := $(LLVMTOOLCURRENT)/gccld
+TBLGEN := $(LLVMTOOLCURRENT)/tblgen$(EXEEXT)
+LGCCLDPROG := $(LLVMTOOLCURRENT)/gccld$(EXEEXT)
#--------------------------------------------------------------------------
# The LLVM GCC front-end in C and C++ flavors
# Some of the compiled LLVM tools which are used for compilation of runtime
# libraries.
#
-LLVMAS := $(LLVMTOOLCURRENT)/llvm-as
+LLVMAS := $(LLVMTOOLCURRENT)/llvm-as$(EXEEXT)
###########################################################################
CPPFLAGS += -D__STDC_LIMIT_MACROS
### FIXME: this is GCC specific
-CPPFLAGS += -DDEPRECATED='__attribute__ ((deprecated))'
+CPPFLAGS += -DATTR_DEPRECATED='__attribute__ ((deprecated))'
CompileCommonOpts := -Wall -W -Wwrite-strings -Wno-unused
CompileOptimizeOpts := -O3 -DNDEBUG -finline-functions
#---------------------------------------------------------
ifdef DIRS
-all install clean test bytecode stripped-bytecode::
+all install clean test bytecode stripped-bytecode install-bytecode::
$(VERB) for dir in ${DIRS}; do \
if [ ! -f $$dir/Makefile ]; \
then \
$(MKDIR) $$dir; \
cp $(SourceDir)/$$dir/Makefile $$dir/Makefile; \
fi; \
- ($(MAKE) -C $$dir $@) || exit 1; \
+ ($(MAKE) -C $$dir $@ $(MFLAGS)) || exit 1; \
done
endif
test :: $(addsuffix /.maketest , $(PARALLEL_DIRS))
bytecode :: $(addsuffix /.makebytecode, $(PARALLEL_DIRS))
stripped-bytecode :: $(addsuffix /.makestripped-bytecode, $(PARALLEL_DIRS))
+install-bytecode :: $(addsuffix /.makeinstall-bytecode, $(PARALLEL_DIRS))
-%/.makeall %/.makeinstall %/.makeclean %/.maketest %/.makebytecode %/.makestripped-bytecode:
+%/.makeall %/.makeinstall %/.makeclean %/.maketest %/.makebytecode %/.makestripped-bytecode %/.makeinstall-bytecode:
$(VERB) if [ ! -f $(@D)/Makefile ]; \
then \
$(MKDIR) $(@D); \
cp $(SourceDir)/$(@D)/Makefile $(@D)/Makefile; \
fi; \
- $(MAKE) -C $(@D) $(subst $(@D)/.make,,$@)
+ $(MAKE) -C $(@D) $(subst $(@D)/.make,,$@) $(MFLAGS)
endif
# Handle directories that may or may not exist
ifdef OPTIONAL_DIRS
-all install clean test bytecode stripped-bytecode::
+all install clean test bytecode stripped-bytecode install-bytecode::
$(VERB) for dir in ${OPTIONAL_DIRS}; do \
if [ -d $(SourceDir)/$$dir ]; \
then\
$(MKDIR) $$dir; \
cp $(SourceDir)/$$dir/Makefile $$dir/Makefile; \
fi; \
- ($(MAKE) -C$$dir $@) || exit 1; \
+ ($(MAKE) -C$$dir $@ $(MFLAGS)) || exit 1; \
fi \
done
endif