Mercurial > fem-fenics-eugenio
view inst/generate_makefile.m @ 109:50753c3cb0b6
New function for dealing with form of rank 0.
* fem_create_functional: user visible function for the creation of a DLD
function which create a Functional from a given .ufl file
* generate_fun.cc: writes on the fly the code
* generate_makefile: compile also the new function
author | gedeone-octave <marcovass89@hotmail.it> |
---|---|
date | Thu, 22 Aug 2013 19:01:44 +0200 |
parents | 5a4371f45fc4 |
children | 75780f7dc9f4 |
line wrap: on
line source
function output = generate_makefile (ufl_name, path) STRING ="\n\ DIR = @@PATH@@\n\ CPPFLAGS=\n\ LIBS= -ldolfin\n\ MKOCTFILE = mkoctfile\n\ FFC = ffc\n\ \n\ OCTFILES = @@UFL_NAME@@_FunctionSpace.oct @@UFL_NAME@@_BilinearForm.oct @@UFL_NAME@@_LinearForm.oct @@UFL_NAME@@_Functional.oct\n\ \n\ all : $(OCTFILES)\n\ fs : @@UFL_NAME@@_FunctionSpace.oct\n\ rhs : @@UFL_NAME@@_BilinearForm.oct\n\ lhs : @@UFL_NAME@@_LinearForm.oct\n\ fun : @@UFL_NAME@@_Functional.oct\n\ \n\ @@UFL_NAME@@_FunctionSpace.oct: @@UFL_NAME@@.h @@UFL_NAME@@_FunctionSpace.cc\n\ $(MKOCTFILE) @@UFL_NAME@@_FunctionSpace.cc -I$(DIR) -I. $(LDFLAGS) $(CPPFLAGS) $(LIBS)\n\ \n\ @@UFL_NAME@@_BilinearForm.oct: @@UFL_NAME@@.h @@UFL_NAME@@_BilinearForm.cc\n\ $(MKOCTFILE) @@UFL_NAME@@_BilinearForm.cc -I$(DIR) -I. $(LDFLAGS) $(CPPFLAGS) $(LIBS)\n\ \n\ @@UFL_NAME@@_LinearForm.oct: @@UFL_NAME@@.h @@UFL_NAME@@_LinearForm.cc\n\ $(MKOCTFILE) @@UFL_NAME@@_LinearForm.cc -I$(DIR) -I. $(LDFLAGS) $(CPPFLAGS) $(LDFLAGS) $(LIBS)\n\ \n\ @@UFL_NAME@@_Functional.oct: @@UFL_NAME@@.h @@UFL_NAME@@_Functional.cc\n\ $(MKOCTFILE) @@UFL_NAME@@_Functional.cc -I$(DIR) -I. $(LDFLAGS) $(CPPFLAGS) $(LDFLAGS) $(LIBS)\n\ \n\ @@UFL_NAME@@.h: @@UFL_NAME@@.ufl\n\ $(FFC) -l dolfin @@UFL_NAME@@.ufl\n\ \n\ .PHONY: clean\n\ \n\ clean:\n\ rm -f @@UFL_NAME@@_FunctionSpace.o @@UFL_NAME@@_FunctionSpace.cc @@UFL_NAME@@.h\n\ rm -f @@UFL_NAME@@_BilinearForm.o @@UFL_NAME@@_BilinearForm.cc\n\ rm -f @@UFL_NAME@@_LinearForm.o @@UFL_NAME@@_LinearForm.cc\n\ rm -f @@UFL_NAME@@_Functional.o @@UFL_NAME@@_Functional.cc\n\ rm -f Makefile_@@UFL_NAME@@\n\ "; STRING = strrep (STRING, "@@UFL_NAME@@", ufl_name); STRING = strrep (STRING, "@@PATH@@", path); fid = fopen (sprintf ("Makefile_%s", ufl_name), 'w'); if (fid >= 0) fputs (fid, STRING); output = fclose (fid); else error ("cannot open file"); output = 1; endif endfunction