blob: 4e3d8e0fa5c803650e516aeb3d53d672e5c6f8e7 [file] [log] [blame]
##===- fourway.Makefile ------------------------------------*- Makefile -*-===##
#
# This file is intended to be included in four-way (gcc vs. llvm-gcc by
# debug vs. non-debug) reports, to provide raw data generating targets.
#
##===----------------------------------------------------------------------===##
Output/%.report.$(TEST).txt:
@echo "---------------------------------------------------------------"
@echo ">>> ========= '$*' Program"
@echo "---------------------------------------------------------------"
Output/%.gcc.nodebug.o: %.cpp Output/.dir
@-(time -p $(CXX) $*.cpp -O0 -c -o $@) 2>&1 | \
sed -e s/$$/gcc.nodebug/ > Output/$*.gcc.nodebug.time
Output/%.gcc.debug.o: %.cpp Output/.dir
@-(time -p $(CXX) $*.cpp -O0 -gdwarf-2 -c -o $@) 2>&1 | \
sed -e s/$$/gcc.debug/ > Output/$*.gcc.debug.time
Output/%.llvmgcc.nodebug.o: %.cpp Output/.dir $(LLVMGXX)
@-(time -p $(LLVMGXX) $*.cpp -O0 -c -o $@) 2>&1 | \
sed -e s/$$/llvmgcc.nodebug/ > Output/$*.llvmgcc.nodebug.time
Output/%.llvmgcc.debug.o: %.cpp Output/.dir $(LLVMGXX)
@-(time -p $(LLVMGXX) $*.cpp -O0 -g -c -o $@) 2>&1 | \
sed -e s/$$/llvmgcc.debug/ > Output/$*.llvmgcc.debug.time
Output/%.gcc.nodebug.o: %.c Output/.dir
@-(time -p $(CC) $*.c -O0 -c -o $@) 2>&1 | \
sed -e s/$$/gcc.nodebug/ > Output/$*.gcc.nodebug.time
Output/%.gcc.debug.o: %.c Output/.dir
@-(time -p $(CC) $*.c -O0 -gdwarf-2 -c -o $@) 2>&1 | \
sed -e s/$$/gcc.debug/ > Output/$*.gcc.debug.time
Output/%.llvmgcc.nodebug.o: %.c Output/.dir $(LLVMGCC)
@-(time -p $(LLVMGCC) $*.c -O0 -c -o $@) 2>&1 | \
sed -e s/$$/llvmgcc.nodebug/ > Output/$*.llvmgcc.nodebug.time
Output/%.llvmgcc.debug.o: %.c Output/.dir $(LLVMGCC)
@-(time -p $(LLVMGCC) $*.c -O0 -g -c -o $@) 2>&1 | \
sed -e s/$$/llvmgcc.debug/ > Output/$*.llvmgcc.debug.time
Output/%.time: Output/%.o
@echo "" > /dev/null
Output/%.gcc.nodebug.size: Output/%.gcc.nodebug.o
@-size Output/$*.gcc.nodebug.o 2>&1 | \
sed -e s/$$/gcc.nodebug/ > $@
@-size -m Output/$*.gcc.nodebug.o 2>&1 | \
sed -e s/$$/gcc.nodebug/ >> $@
Output/%.gcc.debug.size: Output/%.gcc.debug.o
@-size Output/$*.gcc.debug.o 2>&1 | \
sed -e s/$$/gcc.debug/ > $@
@-size -m Output/$*.gcc.debug.o 2>&1 | \
sed -e s/$$/gcc.debug/ >> $@
Output/%.llvmgcc.nodebug.size: Output/%.llvmgcc.nodebug.o
@-size Output/$*.llvmgcc.nodebug.o 2>&1 | \
sed -e s/$$/llvmgcc.nodebug/ > $@
@-size -m Output/$*.llvmgcc.nodebug.o 2>&1 | \
sed -e s/$$/llvmgcc.nodebug/ >> $@
Output/%.llvmgcc.debug.size: Output/%.llvmgcc.debug.o
@-size Output/$*.llvmgcc.debug.o 2>&1 | \
sed -e s/$$/llvmgcc.debug/ > $@
@-size -m Output/$*.llvmgcc.debug.o 2>&1 | \
sed -e s/$$/llvmgcc.debug/ >> $@