Index: doc-rnd/TODO =================================================================== --- doc-rnd/TODO (revision 1309) +++ doc-rnd/TODO (revision 1310) @@ -1,12 +1,7 @@ UNGLIB: - test transition (after glib removal is finished so that valgrind works reasonably well again): - - undo broke (remove traces)! - - convert buffer to element fails? - - test exporters - test gpmi search - - place 2 arcs, select first, can't move to left edge (bbox or rtree?) - test onpoint - - test whether plugin compiled exporters work - test whether gd based plugins can be compiled to so (png, nelma) _without_ pushing ldflags or includes onto core - obsolete functions: - ExpandFilename() Index: scconfig/Makefile.comp.inc =================================================================== --- scconfig/Makefile.comp.inc (revision 1309) +++ scconfig/Makefile.comp.inc (revision 1310) @@ -6,11 +6,17 @@ ### explicit rules for .c -> .o ### } +append /local/comp/CFLAGS {} + foreach /local/o in /local/comp/OBJS put /local/c /local/o sub /local/c {.o$} {.c} print [@ @/local/o@: @/local/c@ - $(CC) -c $(CFLAGS) -o @/local/o@ $< + $(CC) -c $(CFLAGS) @/local/comp/CFLAGS@ -o @/local/o@ $< @] end + +put /local/comp/OBJS {} +put /local/comp/CFLAGS {} + Index: scconfig/Makefile.comp_var.inc =================================================================== --- scconfig/Makefile.comp_var.inc (nonexistent) +++ scconfig/Makefile.comp_var.inc (revision 1310) @@ -0,0 +1,19 @@ +# Generate Makefile code to compile .c -> .o +# Arguments: +# /local/comp/OBJS list of .o files (assuming each have at least a .c) + +put /local/comp/output {} +append /local/comp/CFLAGS {} + +foreach /local/o in /local/comp/OBJS +put /local/c /local/o +sub /local/c {.o$} {.c} +append /local/comp/output [@ +@/local/o@: @/local/c@ + $(CC) -c $(CFLAGS) @/local/comp/CFLAGS@ -o @/local/o@ $< +@] +end + +put /local/comp/OBJS {} +put /local/comp/CFLAGS {} + Index: src/Makefile.in =================================================================== --- src/Makefile.in (revision 1309) +++ src/Makefile.in (revision 1310) @@ -126,9 +126,10 @@ put /local/pcb/rules/install {} put /local/pcb/rules/linstall {} put /local/pcb/rules/uninstall {} +put /local/pcb/mod/OBJS {} +put /local/pcb/mod/LDFLAGS {} +put /local/pcb/mod/CFLAGS {} - - include {Makefile.in.mod/gtk-gdk} include {Makefile.in.mod/lesstif} include {Makefile.in.mod/batch} Index: src/Makefile.in.mod/Buildin =================================================================== --- src/Makefile.in.mod/Buildin (revision 1309) +++ src/Makefile.in.mod/Buildin (revision 1310) @@ -10,6 +10,8 @@ plugin_register("@/local/pcb/mod@", "<@/local/pcb/mod@>", NULL, 0, uninit_func); @] append /local/pcb/OBJS /local/pcb/mod/OBJS +append /local/pcb/LDFLAGS /local/pcb/mod/LDFLAGS +append /local/pcb/CFLAGS /local/pcb/mod/CFLAGS append /local/pcb/RULES [@ mod_@/local/pcb/mod@: all @@ -17,4 +19,6 @@ @] put /local/pcb/mod/OBJS {} +put /local/pcb/mod/LDFLAGS {} +put /local/pcb/mod/CFLAGS {} put /local/pcb/mod {} Index: src/Makefile.in.mod/Disable =================================================================== --- src/Makefile.in.mod/Disable (revision 1309) +++ src/Makefile.in.mod/Disable (revision 1310) @@ -7,4 +7,6 @@ append /local/pcb/DEPSRCS /local/pcb/mod/OBJS put /local/pcb/mod/OBJS {} +put /local/pcb/mod/LDFLAGS {} +put /local/pcb/mod/CFLAGS {} put /local/pcb/mod {} Index: src/Makefile.in.mod/Plugin =================================================================== --- src/Makefile.in.mod/Plugin (revision 1309) +++ src/Makefile.in.mod/Plugin (revision 1310) @@ -3,6 +3,11 @@ # /local/pcb/mod basename of the module (e.g. autoplace) # /local/pcb/mod/OBJS full path of all object files +# generate .c -> .o rules in /local/comp/output +put /local/comp/OBJS /local/pcb/mod/OBJS +put /local/comp/CFLAGS /local/pcb/mod/CFLAGS +include {../scconfig/Makefile.comp_var.inc} + append /local/pcb/all [@ $(PLUGIDIR)/@/local/pcb/mod@.so @] append /local/pcb/rules/install_ [@ @@ -10,17 +15,24 @@ append /local/pcb/RULES [@ +### Module @/local/pcb/mod@: plugin ### + $(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so: @/local/pcb/mod/OBJS@ - $(CC) $(LDFLAGS) -shared @cc/rdynamic@ -o $(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so @/local/pcb/mod/OBJS@ + $(CC) $(LDFLAGS) @/local/pcb/mod/LDFLAGS@ -shared @cc/rdynamic@ -o $(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so @/local/pcb/mod/OBJS@ mod_@/local/pcb/mod@: $(PLUGIDIR)/@/local/pcb/mod@.so - $(PLUGIDIR)/@/local/pcb/mod@.so: $(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so $(MKDIR) $(PLUGIDIR) $(CP) $(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so $(PLUGIDIR)/@/local/pcb/mod@.so +# module .c -> .o rules +@/local/comp/output@ + +### Module @/local/pcb/mod@ end ### @] put /local/pcb/mod/OBJS {} +put /local/pcb/mod/LDFLAGS {} +put /local/pcb/mod/CFLAGS {} put /local/pcb/mod {} Index: src_plugins/export_bom/Plug.tmpasm =================================================================== --- src_plugins/export_bom/Plug.tmpasm (revision 1309) +++ src_plugins/export_bom/Plug.tmpasm (revision 1310) @@ -5,8 +5,6 @@ put /local/pcb/mod/OBJS [@ $(PLUGDIR)/export_bom/bom.o @] if /local/pcb/export_bom/enable then - append /local/pcb/LIBS libs/gui/gd/ldflags - append /local/pcb/CFLAGS libs/gui/gd/cflags if /local/pcb/export_bom/buildin then include {Makefile.in.mod/Buildin} else Index: src_plugins/export_nelma/Plug.tmpasm =================================================================== --- src_plugins/export_nelma/Plug.tmpasm (revision 1309) +++ src_plugins/export_nelma/Plug.tmpasm (revision 1310) @@ -3,10 +3,10 @@ put /local/pcb/mod {export_nelma} put /local/pcb/mod/OBJS [@ $(PLUGDIR)/export_nelma/nelma.o @] +put /local/pcb/mod/LDFLAGS libs/gui/gd/ldflags +put /local/pcb/mod/CFLAGS libs/gui/gd/cflags if /local/pcb/export_nelma/enable then - append /local/pcb/LIBS libs/gui/gd/ldflags - append /local/pcb/CFLAGS libs/gui/gd/cflags if /local/pcb/export_nelma/buildin then include {Makefile.in.mod/Buildin} else Index: src_plugins/export_png/Plug.tmpasm =================================================================== --- src_plugins/export_png/Plug.tmpasm (revision 1309) +++ src_plugins/export_png/Plug.tmpasm (revision 1310) @@ -3,6 +3,8 @@ put /local/pcb/mod {export_png} put /local/pcb/mod/OBJS [@ $(PLUGDIR)/export_png/png.o @] +put /local/pcb/mod/LDFLAGS libs/gui/gd/ldflags +put /local/pcb/mod/CFLAGS libs/gui/gd/cflags if /local/pcb/export_png/enable then if /local/pcb/export_png/buildin then