1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- ##----------------------------------------------------------*- Makefile -*-===##
- ##
- ## Common rules for generating, linking, and compiling via LLVM. This is
- ## used to implement a robust testing framework for LLVM
- ##
- ##-------------------------------------------------------------------------===##
- # If the user specified a TEST= option on the command line, we do not want to do
- # the default testing type. Instead, we change the default target to be the
- # test:: target.
- #
- ifdef TEST
- test::
- endif
- # We do not want to make .d files for tests!
- DISABLE_AUTO_DEPENDENCIES=1
- include ${LEVEL}/Makefile.common
- # Specify ENABLE_STATS on the command line to enable -stats and -time-passes
- # output from gccas and gccld.
- ifdef ENABLE_STATS
- STATS = -stats -time-passes
- endif
- .PHONY: clean default
- # These files, which might be intermediate results, should not be deleted by
- # make
- .PRECIOUS: Output/%.bc Output/%.ll
- .PRECIOUS: Output/%.tbc Output/%.tll
- .PRECIOUS: Output/.dir
- .PRECIOUS: Output/%.llvm.bc
- .PRECIOUS: Output/%.llvm
- LCCFLAGS += -O2 -Wall
- LCXXFLAGS += -O2 -Wall
- LLCFLAGS =
- TESTRUNR = @echo Running test: $<; \
- PATH="$(LLVMTOOLCURRENT):$(PATH)" \
- $(LLVM_SRC_ROOT)/test/TestRunner.sh
- LLCLIBS := $(LLCLIBS) -lm
- clean::
- $(RM) -f a.out core
- $(RM) -rf Output/
- # LLVM Assemble from Output/X.ll to Output/X.bc. Output/X.ll must have come
- # from GCC output, so use GCCAS.
- #
- Output/%.bc: Output/%.ll $(LGCCAS)
- -$(LGCCAS) $(STATS) $< -o $@
- # LLVM Assemble from X.ll to Output/X.bc. Because we are coming directly from
- # LLVM source, use the non-transforming assembler.
- #
- Output/%.bc: %.ll $(LLVMAS) Output/.dir
- -$(LLVMAS) $< -o $@
- ## Cancel built-in implicit rules that override above rules
- %: %.s
- %: %.c
- %.o: %.c
|