+ @$(ECHO) "\t[CLEAN]"
+ @$(RM) -rf $(PROGRAM) $(SRCPATH)/ $(PROGRAM)_flattened.xml \
+ $(PROGRAM)_Generator.java $(PROGRAM)_Generator.class \
+ $(PROGRAM).dot profile.txt
+
+$(PROGRAM): $(SRCPATH)/src/sc_application
+ @$(ECHO) "\t[COPY]\t$@"
+ @$(CP) $^ $@
+
+$(SRCPATH)/src/sc_application: $(SRCPATH)/src/Makefile.new
+ @$(ECHO) "\t[MAKE]\t$<"
+ @$(MAKE) -f Makefile.new -C $(SRCPATH)/src
+
+$(SRCPATH)/src/Makefile.new: $(SRCPATH)/src/Makefile
+ @$(ECHO) "\t[GEN]\t$@"
+ @$(SED) -e 's@^SYSTEMC_INC.*@SYSTEMC_INC = -I$(SYSTEMC_INC)@' \
+ -e 's@^SYSTEMC_LIB.*@SYSTEMC_LIB = $(SYSTEMC_LIB)@' \
+ -e 's@^MY_LIB_INC.*@& -lpthread@' \
+ $(SRCPATH)/src/Makefile > $(SRCPATH)/src/Makefile.new
+
+$(SRCPATH)/src/Makefile: $(PROGRAM)_flattened.xml
+ @$(ECHO) "\t[GEN]\t$@"
+ @$(JAVA) -cp $(CLASSPATH) dol.main.Main -P $(PROGRAM)_flattened.xml \
+ $(CODEGEN) $(SRCPATH) -c >/dev/null
+
+$(PROGRAM)_flattened.xml: $(PROGRAM).xml
+ @$(ECHO) "\t[FLAT]\t$^"
+ @$(JAVA) -cp $(CLASSPATH) dol.helper.flattener.XMLFlattener \
+ $(PROGRAM).xml $(PROGRAM)_Generator >/dev/null
+ @$(JAVAC) $(PROGRAM)_Generator.java
+ @$(JAVA) $(PROGRAM)_Generator > $(PROGRAM)_flattened.xml
+
+$(PROGRAM).dot: $(PROGRAM)_flattened.xml
+ @$(ECHO) "\t[GEN]\t$@"
+ @$(JAVA) -cp $(CLASSPATH) dol.main.Main -P $(PROGRAM)_flattened.xml \
+ -D $(PROGRAM).dot -c >/dev/null
+
+dotty: $(PROGRAM).dot
+ @$(ECHO) "\t[RUN]\t$(DOTTY) $(PROGRAM).dot"
+ @$(DOTTY) $(PROGRAM).dot
+