X-Git-Url: http://sraa.de/git/?a=blobdiff_plain;f=square%2FMakefile;fp=square%2FMakefile;h=fc78207269fb65e3c35dbb3a8c88e190b1e6aacd;hb=72e08f31e7589c2901158d3abdb7e116c6c6f83e;hp=0000000000000000000000000000000000000000;hpb=288a00688bd1ef5ffad268212df3c54c7c8c4e30;p=jump.git diff --git a/square/Makefile b/square/Makefile new file mode 100644 index 0000000..fc78207 --- /dev/null +++ b/square/Makefile @@ -0,0 +1,93 @@ +# Makefile to generate a DOL program + +# Type 'make help' to get a list of targets. + +# program to generate +PROGRAM = Square + +# code generator to use +# use '-C' (SystemC) or '-H' (HdS) or '-E' (Epiphany) +CODEGEN = -E + +# change according to your system +DOLPATH = $(HOME)/jump/dol/jars +SYSTEMC_INC = $(HOME)/systemc/include +SYSTEMC_LIB = $(HOME)/systemc/lib-linux64/libsystemc.a + +# list of programs +JAVA ?= java +JAVAC ?= javac +DOTTY ?= dotty +ECHO ?= echo +SED ?= sed +CP ?= cp +RM ?= rm + +# don't change anything below +# =========================================================================== + +SRCPATH = generated +CLASSPATH = $(DOLPATH)/dol.jar:$(DOLPATH)/jdom.jar:$(DOLPATH)/xercesImpl.jar +.PHONY : help all run codegen dotty clean + +help: + @$(ECHO) "Target List:\n" \ + "\thelp -- show this help [default]\n" \ + "\tall -- generate '$(PROGRAM)'\n" \ + "\trun -- generate and run '$(PROGRAM)'\n" \ + "\tcodegen -- generate code, but do not compile\n" \ + "\tdotty -- show flattened process network using DOTTY\n" \ + "\tclean -- clean generated files\n" + +all: $(PROGRAM) + +codegen: $(SRCPATH)/Makefile.new + +run: $(PROGRAM) + @$(ECHO) "\t[RUN]\t$^" + @./$(PROGRAM) + +clean: + @$(ECHO) "\t[CLEAN]" + @$(RM) -rf $(PROGRAM) $(SRCPATH)/ $(PROGRAM)_flattened.xml \ + $(PROGRAM)_Generator.java $(PROGRAM)_Generator.class \ + $(PROGRAM).dot profile.txt output.txt + +$(PROGRAM): $(SRCPATH)/src/sc_application + @$(ECHO) "\t[COPY]\t$@" + @$(CP) $^ $@ + +$(SRCPATH)/src/sc_application: $(SRCPATH)/Makefile.new + @$(ECHO) "\t[MAKE]\t$<" + @$(MAKE) -f Makefile.new -C $(SRCPATH)/src + +$(SRCPATH)/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 + @$(JAVA) -cp $(CLASSPATH) dol.main.Main -P $(PROGRAM)_flattened.xml \ + $(CODEGEN) $(SRCPATH) + +$(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 +