include ../env.mk SYSTEM = system.cpp system2.cpp system3.cpp EXE_SCASS = $(SYSTEM:.cpp=_systemcass.x) EXE_SC = $(SYSTEM:.cpp=_systemc.x) EXE = ${EXE_SCASS} ${EXE_SC} LOG = $(SYSTEM:.cpp=.log) OBJECTS = $(EXE:.x=.o) LINKS = $(OBJECTS:.o=.cpp) PREFIX = $(SYSTEM:.cpp=) #DIFF = $(SYSTEM:.cpp=.diff) .SECONDARY: #%.diff : %_module_graph_reference.dot %_module_graph.dot # diff $*_module_graph_reference.dot $*_module_graph.dot # diff $*_signal_graph_reference.dot $*_signal_graph.dot # diff $*_module_order_reference.dot $*_module_order.dot # diff $*_signal_order_reference.dot $*_signal_order.dot #%_signal_graph_reference.dot %_signal_graph.dot \ # %_module_order_reference.dot %_module_order.dot \ # %_signal_order_reference.dot %_signal_order.dot #%_module_graph.dot : %_systemcass.x # $*_systemcass.x --t # mv module_graph.dot $*_module_graph.dot #%_module_order.dot %_signal_graph.dot %_signal_order.dot : %_systemcass.x # $*_systemcass.x --t --p main : $(EXE) #diff : ${DIFF} test : ${EXE} for i in ${PREFIX} ; do \ echo Testing $$i... ; \ (./$${i}_systemcass.x --t) || eval ${failcom}; \ tail -n +3 module_graph.dot | diff $${i}_module_graph_reference.dot - || eval ${failcom}; \ ./$${i}_systemcass.x --p --t || eval ${failcom}; \ tail -n +3 signal_graph.dot | diff $${i}_signal_graph_reference.dot - \ || tail -n +3 signal_graph.dot | diff $${i}_signal_graph_reference2.dot - \ || eval ${failcom}; \ tail -n +3 process_order.dot | diff $${i}_process_order_reference.dot - || eval ${failcom}; \ diff signal_order.txt $${i}_signal_order_reference.txt \ || diff signal_order.txt $${i}_signal_order_reference2.txt \ || eval ${failcom}; \ done (./system_systemc.x) || eval ${failcom} (./system2_systemc.x) || eval ${failcom} (./system3_systemc.x) || eval ${failcom} @echo Test OK. %.gif : %.dot dot -Tgif -o $*.gif $*.dot %_systemc.x : %_systemc.o $(SYSTEMC_LIB) $(CXX) -o $@ $*_systemc.o $(LFLAGS_SYSTEMC) 2>&1 | $(CPPFILT) %_systemcass.x : %_systemcass.o $(SYSTEMCASS_LIB) $(CXX) -o $@ $*_systemcass.o $(LFLAGS_SYSTEMCASS) 2>&1 | $(CPPFILT) -include Makefile.deps %_systemc.cpp : %.cpp ln -s $*.cpp $*_systemc.cpp %_systemcass.cpp : %.cpp ln -s $*.cpp $*_systemcass.cpp %_systemc.o : %_systemc.cpp $(CXX) $(CFLAGS_SYSTEMC) -MM $*_systemc.cpp >> Makefile.deps $(CXX) $(CFLAGS_SYSTEMC) -c $*_systemc.cpp -o $*_systemc.o %_systemcass.o : %_systemcass.cpp $(CXX) $(CFLAGS_SYSTEMCASS) -MM $*_systemcass.cpp >> Makefile.deps $(CXX) $(CFLAGS_SYSTEMCASS) -c $*_systemcass.cpp -o $*_systemcass.o clean : -echo > Makefile.deps -rm -f *.o gmon.out -rm -f *~ -rm -f ${LOG} -rm -f signal_order.txt module_order.dot signal_graph.dot -rm -f module_order.gif signal_graph.gif -rm -f $(EXE) $(OBJECTS) -for i in $(LINKS) ; do unlink $$i ; done 2> /dev/null -rm -f core* -rm -rf generated_by_systemcass -rm -rf tracesystem_systemcass.x.vcd tracesystem_systemc.x.vcd