X-Git-Url: http://sraa.de/git/?a=blobdiff_plain;f=dol%2Fsrc%2Fdol%2Fvisitor%2Fyapi%2FYapiMakefileVisitor.java;fp=dol%2Fsrc%2Fdol%2Fvisitor%2Fyapi%2FYapiMakefileVisitor.java;h=5103ec96da0d71bf6fdd728a23be2bbe83c5f368;hb=8c411cf24ed0eb889191aaeafd8fa1e69081df42;hp=0000000000000000000000000000000000000000;hpb=dea7a4fb1ed110d3ce6e6d9255103d724bd66c0e;p=jump.git diff --git a/dol/src/dol/visitor/yapi/YapiMakefileVisitor.java b/dol/src/dol/visitor/yapi/YapiMakefileVisitor.java new file mode 100644 index 0000000..5103ec9 --- /dev/null +++ b/dol/src/dol/visitor/yapi/YapiMakefileVisitor.java @@ -0,0 +1,76 @@ +/* $Id: YapiMakefileVisitor.java 1 2010-02-24 13:03:05Z haidw $ */ +package dol.visitor.yapi; + +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.io.PrintStream; +import java.util.Vector; + +import dol.datamodel.pn.Process; +import dol.datamodel.pn.ProcessNetwork; +import dol.visitor.PNVisitor; + +/** + * + */ +public class YapiMakefileVisitor extends PNVisitor { + + /** + * + */ + public YapiMakefileVisitor(String dir) { + _dir = dir; + } + + /** + * + */ + public void visitComponent(ProcessNetwork pn) { + try { + String filename = _dir + _delimiter + "Makefile"; + OutputStream file = new FileOutputStream(filename); + PrintStream ps = new PrintStream(file); + ps.println("YAPI = /lib/yapi"); + ps.println("INCLUDES = -I$(YAPI)/include -Iwrappers -Ilib -Iprocesses -I."); + ps.println("LIBS = $(YAPI)/lib/libyapi.a"); + ps.println("CXX = g++"); + ps.println("CXXFLAGS = -g -Wall -O $(INCLUDES)"); + ps.println("OBJS = application.o \\"); + Vector processList = new Vector(); + for (Process p : pn.getProcessList()) { + String basename = p.getBasename(); + if (!processList.contains(basename)) { + processList.add(basename); + ps.println(" wrappers/" + p.getBasename() + + "_wrapper.o \\"); + } + } + ps.println(" lib/dolSupport.o \\"); + ps.println(" lib/ProcessWrapper.o \\"); + ps.println(" lib/main.o"); + ps.println(); + ps.println("EXE = ./sc_application"); + ps.println(); + ps.println("all : $(EXE)"); + ps.println(); + ps.println("test : $(EXE)"); + ps.println("\t@$(EXE)"); + ps.println(); + ps.println("$(EXE) : $(OBJS)"); + ps.println("\t$(CXX) $(LDFLAGS) $(OBJS) $(LIBS) -o $(EXE)"); + ps.println(); + ps.println("clean : ;"); + ps.println("\trm -rf $(OBJS) $(EXE)"); + } + catch (IOException e) { + System.out.println(" Yapi Makefile Visitor: exception " + + "occured: " + e.getMessage()); + e.printStackTrace(); + } + } + + protected String _dir = null; + protected String _name = "sc_application"; +} +