comparison inst/private/generate_mf_makefile.m @ 261:f22588ae37af

Improve template meshfunction implementation * inst/import_meshfunction_type.m: provide to the auxiliary functions a type name and a valid identifier * inst/private/generate_mf_*.m: add space before closing angle bracket to avoid parse errors
author Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
date Thu, 07 Aug 2014 11:13:54 +0200
parents 1e2a9be8083a
children 897e312cb440
comparison
equal deleted inserted replaced
260:1e2a9be8083a 261:f22588ae37af
16 16
17 ## -*- texinfo -*- 17 ## -*- texinfo -*-
18 ## function for internal usage only 18 ## function for internal usage only
19 ## @end deftypefn 19 ## @end deftypefn
20 20
21 function output = generate_mf_makefile (typename, path) 21 function output = generate_mf_makefile (label, path)
22 22
23 STRING ="\n\ 23 STRING ="\n\
24 DIR = @@PATH@@\n\ 24 DIR = @@PATH@@\n\
25 CPPFLAGS+=@@FF_CPPFLAGS@@ -g\n\ 25 CPPFLAGS+=@@FF_CPPFLAGS@@ -g\n\
26 LIBS+=@@FF_LIBS@@\n\ 26 LIBS+=@@FF_LIBS@@\n\
27 MKOCTFILE = mkoctfile\n\ 27 MKOCTFILE = mkoctfile\n\
28 FFC = ffc\n\ 28 FFC = ffc\n\
29 \n\ 29 \n\
30 OCTFILES = MeshFunction_@@TYPENAME@@.oct save_@@TYPENAME@@.oct\n\ 30 OCTFILES = MeshFunction_@@LABEL@@.oct save_@@LABEL@@.oct\n\
31 \n\ 31 \n\
32 all : $(OCTFILES)\n\ 32 all : $(OCTFILES)\n\
33 \n\ 33 \n\
34 MeshFunction_@@TYPENAME@@.oct: MeshFunction_@@TYPENAME@@.cc \ 34 MeshFunction_@@LABEL@@.oct: MeshFunction_@@LABEL@@.cc \
35 meshfunction_@@TYPENAME@@.h\n\ 35 meshfunction_@@LABEL@@.h\n\
36 CPPFLAGS='$(CPPFLAGS)' $(MKOCTFILE) $< -o $@ -I$(DIR) -I. $(LDFLAGS) $(LIBS)\n\ 36 CPPFLAGS='$(CPPFLAGS)' $(MKOCTFILE) $< -o $@ -I$(DIR) -I. $(LDFLAGS) $(LIBS)\n\
37 \n\ 37 \n\
38 save_@@TYPENAME@@.oct: save_@@TYPENAME@@.cc meshfunction_@@TYPENAME@@.h mkmfdir\n\ 38 save_@@LABEL@@.oct: save_@@LABEL@@.cc meshfunction_@@LABEL@@.h mkmfdir\n\
39 CPPFLAGS='$(CPPFLAGS)' $(MKOCTFILE) $< -o @meshfunction_@@TYPENAME@@/save.oct\ 39 CPPFLAGS='$(CPPFLAGS)' $(MKOCTFILE) $< -o @meshfunction_@@LABEL@@/save.oct\
40 -I$(DIR) -I. $(LDFLAGS) $(LIBS)\n\ 40 -I$(DIR) -I. $(LDFLAGS) $(LIBS)\n\
41 \n\ 41 \n\
42 mkmfdir:\n\ 42 mkmfdir:\n\
43 mkdir -p @meshfunction_@@TYPENAME@@\n\ 43 mkdir -p @meshfunction_@@LABEL@@\n\
44 \n\ 44 \n\
45 .PHONY: clean\n\ 45 .PHONY: clean\n\
46 \n\ 46 \n\
47 clean:\n\ 47 clean:\n\
48 $(RM) meshfunction_@@TYPENAME@@.h save_@@TYPENAME@@.o\n\ 48 $(RM) meshfunction_@@LABEL@@.h save_@@LABEL@@.o\n\
49 $(RM) MeshFunction_@@TYPENAME@@.o MeshFunction_@@TYPENAME@@.cc\n\ 49 $(RM) MeshFunction_@@LABEL@@.o MeshFunction_@@LABEL@@.cc\n\
50 $(RM) save_@@TYPENAME@@.cc\n\ 50 $(RM) save_@@LABEL@@.cc\n\
51 $(RM) Makefile_@@TYPENAME@@\n\ 51 $(RM) Makefile_@@LABEL@@\n\
52 "; 52 ";
53 53
54 STRING = strrep (STRING, "@@TYPENAME@@", typename); 54 STRING = strrep (STRING, "@@LABEL@@", label);
55 STRING = strrep (STRING, "@@PATH@@", path); 55 STRING = strrep (STRING, "@@PATH@@", path);
56 STRING = strrep (STRING, "@@FF_CPPFLAGS@@", get_vars ("CPPFLAGS")); 56 STRING = strrep (STRING, "@@FF_CPPFLAGS@@", get_vars ("CPPFLAGS"));
57 STRING = strrep (STRING, "@@FF_LIBS@@", get_vars ("LIBS")); 57 STRING = strrep (STRING, "@@FF_LIBS@@", get_vars ("LIBS"));
58 58
59 fid = fopen (["Makefile_", typename], "w"); 59 fid = fopen (["Makefile_", label], "w");
60 if (is_valid_file_id (fid)) 60 if (is_valid_file_id (fid))
61 fputs (fid, STRING); 61 fputs (fid, STRING);
62 output = fclose (fid); 62 output = fclose (fid);
63 else 63 else
64 error ("cannot open file"); 64 error ("cannot open file");