source: doc/generic_types/evaluation/Makefile@ e3de500

ADT aaron-thesis arm-eh ast-experimental cleanup-dtors deferred_resn demangler enum forall-pointer-decay jacob/cs343-translation jenkins-sandbox new-ast new-ast-unique-expr new-env no_list persistent-indexer pthread-emulation qualifiedEnum resolv-new stuck-waitfor-destruct with_gc
Last change on this file since e3de500 was e3de500, checked in by Aaron Moss <a3moss@…>, 9 years ago

Fix CFA in generic types evaluation Makefile

  • Property mode set to 100644
File size: 3.2 KB
RevLine 
[e3de500]1CFA = cfa
[4cfcf41]2DEPFLAGS = -MMD -MP
[0d10090]3CFLAGS = -O2
4ifdef N
5CFLAGS += -DN=$(N)
6endif
[b276be5]7CXXFLAGS = $(CFLAGS) --std=c++14
[309be81]8
[b276be5]9.PHONY: all clean distclean run-c run-cpp run-cfa run
[309be81]10
[b14dd030]11all: c-bench cpp-bench cfa-bench cpp-vbench
[309be81]12
[4cfcf41]13# rewrite object generation to auto-determine deps
14COMPILE.c = $(CC) $(DEPFLAGS) $(CFLAGS) $(CPPFLAGS)
15COMPILE.cpp = $(CXX) $(DEPFLAGS) $(CXXFLAGS) $(CPPFLAGS)
16COMPILE.cfa = $(CFA) $(DEPFLAGS) $(CFLAGS) $(CPPFLAGS)
[309be81]17
[4cfcf41]18c-%.o : c-%.c
19c-%.o : c-%.c c-%.d
[122aecd]20 $(COMPILE.c) $(OUTPUT_OPTION) -c $<
[309be81]21
[4cfcf41]22cpp-%.o : cpp-%.cpp
23cpp-%.o : cpp-%.cpp cpp-%.d
[122aecd]24 $(COMPILE.cpp) $(OUTPUT_OPTION) -c $<
[4cfcf41]25
26cfa-%.o : cfa-%.c
27cfa-%.o : cfa-%.c cfa-%.d
[122aecd]28 $(COMPILE.cfa) $(OUTPUT_OPTION) -c $<
[4cfcf41]29
[0d10090]30COBJS = c-stack.o c-pair.o c-print.o
[4cfcf41]31CPPOBJS =
[b276be5]32CPPVOBJS = cpp-vstack.o
[0d10090]33CFAOBJS = cfa-stack.o cfa-pair.o cfa-print.o
[4cfcf41]34
[3fb7f5e]35CFILES = c-bench.c bench.h $(COBJS:.o=.h) $(COBJS:.o=.c)
36CPPFILES = cpp-bench.cpp bench.hpp cpp-stack.hpp cpp-print.hpp
37CPPVFILES = cpp-vbench.cpp bench.hpp object.hpp $(CPPVOBJS:.o=.hpp) $(CPPVOBJS:.o=.cpp) cpp-vprint.hpp
38CFAFILES = cfa-bench.c bench.h cfa-stack.h cfa-print.h cfa-stack.c cfa-print.c
39
[4cfcf41]40c-bench: c-bench.c c-bench.d $(COBJS)
[122aecd]41 $(COMPILE.c) -o $@ $< $(COBJS) $(LDFLAGS)
[4cfcf41]42
43cpp-bench: cpp-bench.cpp cpp-bench.d $(CPPOBJS)
[122aecd]44 $(COMPILE.cpp) -o $@ $< $(CPPOBJS) $(LDFLAGS)
[4cfcf41]45
[b276be5]46cpp-vbench: cpp-vbench.cpp cpp-vbench.d $(CPPVOBJS)
47 $(COMPILE.cpp) -o $@ $< $(CPPVOBJS) $(LDFLAGS)
48
[4cfcf41]49cfa-bench: cfa-bench.c cfa-bench.d $(CFAOBJS)
[122aecd]50 $(COMPILE.cfa) -o $@ $< $(CFAOBJS) $(LDFLAGS)
[309be81]51
52clean:
[4cfcf41]53 -rm $(COBJS) c-bench
54 -rm $(CPPOBJS) cpp-bench
[b276be5]55 -rm $(CPPVOBJS) cpp-vbench
[4cfcf41]56 -rm $(CFAOBJS) cfa-bench
57
58distclean: clean
59 -rm $(COBJS:.o=.d) c-bench.d
60 -rm $(CPPOBJS:.o=.d) cpp-bench.d
[b276be5]61 -rm $(CPPVOBJS:.o=.d) cpp-vbench.d
[4cfcf41]62 -rm $(CFAOBJS:.o=.d) cfa-bench.d
63
[b276be5]64run-c: c-bench
[47535a0d]65 @echo
[4cfcf41]66 @echo '## C ##'
[47535a0d]67 @/usr/bin/time -f 'max_memory:\t%M kilobytes' ./c-bench
[3fb7f5e]68 @printf 'source_size:\t%8d lines\n' `cat $(CFILES) | wc -l`
69 @printf 'redundant_type_annotations:%8d count\n' `cat $(CFILES) | fgrep '/***/' -c`
[47535a0d]70 @printf 'binary_size:\t%8d bytes\n' `stat -c %s c-bench`
[b276be5]71
72run-cfa: cfa-bench
[47535a0d]73 @echo
[4cfcf41]74 @echo '## Cforall ##'
[47535a0d]75 @/usr/bin/time -f 'max_memory:\t %M kilobytes' ./cfa-bench
[3fb7f5e]76 @printf 'source_size:\t%8d lines\n' `cat $(CFAFILES) | wc -l`
77 @printf 'redundant_type_annotations:%8d count\n' `cat $(CFAFILES) | fgrep '/***/' -c`
[47535a0d]78 @printf 'binary_size:\t%8d bytes\n' `stat -c %s cfa-bench`
[b276be5]79
80run-cpp: cpp-bench
[47535a0d]81 @echo
[b276be5]82 @echo '## C++ ##'
[47535a0d]83 @/usr/bin/time -f 'max_memory:\t %M kilobytes' ./cpp-bench
[3fb7f5e]84 @printf 'source_size:\t%8d lines\n' `cat $(CPPFILES) | wc -l`
85 @printf 'redundant_type_annotations:%8d count\n' `cat $(CPPFILES) | fgrep '/***/' -c`
[47535a0d]86 @printf 'binary_size:\t%8d bytes\n' `stat -c %s cpp-bench`
[b276be5]87
88run-cppv: cpp-vbench
[47535a0d]89 @echo
[b276be5]90 @echo '## C++ virtual ##'
[47535a0d]91 @/usr/bin/time -f 'max_memory:\t%M kilobytes' ./cpp-vbench
[3fb7f5e]92 @printf 'source_size:\t%8d lines\n' `cat $(CPPVFILES) | wc -l`
93 @printf 'redundant_type_annotations:%8d count\n' `cat $(CPPVFILES) | fgrep '/***/' -c`
[47535a0d]94 @printf 'binary_size:\t%8d bytes\n' `stat -c %s cpp-vbench`
[b276be5]95
96run: run-c run-cfa run-cpp run-cppv
[4cfcf41]97
98# so make doesn't fail without dependency files
99%.d: ;
100
101# so make won't delete dependency files
102.PRECIOUS: %.d
103
104# include dependency files
105-include: $(COBJS:.o=.d)
106-include: $(CPPOBJS:.o=.d)
107-include: $(CFAOBJS:.o=.d)
108-include: c-bench.d
109-include: cpp-bench.d
110-include: cfa-bench.d
Note: See TracBrowser for help on using the repository browser.