Revert "Fix locale-dependent gerber output"
[geda-pcb/whiteaudio.git] / src / Makefile.am
blob7adb424f104f6a26e9e83dff0b6677b9361bc073
1 ## -*- makefile -*-
2 ## $Id$
3 ##
5 SUBDIRS=        icons
7 CC = @CC_OR_CXX@
8 AM_CFLAGS = @CC_OR_CXX_FLAGS@
10 pcbtreedir=     @PCBTREEDIR@
11 pcblibdir=      @PCBLIBDIR@
13 AUTOMAKE_OPTIONS = subdir-objects
14 HIDLIST = @HIDLIST@
15 noinst_LIBRARIES = @HIDLIBS@
16 EXTRA_LIBRARIES = \
17         libgtk.a liblesstif.a libbatch.a \
18         liblpr.a libgerber.a libbom.a libpng.a libps.a libnelma.a \
19         libgcode.a
21 pcblib_DATA= \
22         default_font \
23         gpcb-menu.res \
24         pcb-menu.res
26 bin_PROGRAMS=   pcb
28 if DEBUG_BUILD
29 # don't disable assert()
30 else
31 AM_CFLAGS += -DNDEBUG
32 endif
34 PCB_SRCS = \
35         action.c \
36         action.h \
37         autoplace.c \
38         autoplace.h \
39         autoroute.c \
40         autoroute.h \
41         box.h \
42         buffer.c \
43         buffer.h \
44         change.c \
45         change.h \
46         clip.c \
47         clip.h \
48         command.c \
49         command.h \
50         compat.c \
51         compat.h \
52         const.h \
53         copy.c \
54         copy.h \
55         create.c \
56         create.h \
57         crosshair.c \
58         crosshair.h \
59         data.c \
60         data.h \
61         djopt.c \
62         djopt.h \
63         dolists.h \
64         draw.c \
65         draw.h \
66         drill.c \
67         drill.h \
68         edif.y \
69         edif_parse.h \
70         error.c \
71         error.h \
72         file.c \
73         file.h \
74         find.c \
75         find.h \
76         flags.c \
77         fontmode.c \
78         free_atexit.c \
79         free_atexit.h \
80         global.h \
81         heap.c \
82         heap.h \
83         hid.h \
84         insert.c \
85         insert.h \
86         intersect.c \
87         intersect.h \
88         line.c \
89         line.h \
90         lrealpath.c \
91         lrealpath.h \
92         macro.h \
93         main.c \
94         mirror.c \
95         mirror.h \
96         misc.c \
97         misc.h \
98         move.c \
99         move.h \
100         mtspace.c \
101         mtspace.h \
102         mymem.c \
103         mymem.h \
104         netlist.c \
105         parse_l.h \
106         parse_l.l \
107         parse_y.h \
108         parse_y.y \
109         pcb-printf.c \
110         pcb-printf.h \
111         polygon.c \
112         polygon.h \
113         polygon1.c \
114         polyarea.h \
115         puller.c \
116         print.c \
117         print.h \
118         rats.c \
119         rats.h \
120         remove.c \
121         remove.h \
122         report.c \
123         report.h \
124         res_parse.y \
125         res_lex.l \
126         resource.h \
127         rotate.c \
128         rotate.h \
129         rtree.c \
130         rtree.h \
131         rubberband.c \
132         rubberband.h \
133         search.c \
134         search.h \
135         select.c \
136         select.h \
137         set.c \
138         set.h \
139         strflags.c \
140         strflags.h \
141         thermal.c \
142         thermal.h \
143         undo.c \
144         undo.h \
145         vector.c \
146         vector.h \
147         vendor.c \
148         vendor.h \
149         hid/common/actions.c \
150         hid/common/actions.h \
151         hid/common/flags.c \
152         hid/common/hidinit.c \
153         hid/common/hidinit.h \
154         hid/common/hidnogui.c \
155         hid/common/hidnogui.h \
156         hid/common/extents.c \
157         hid/common/draw_helpers.c \
158         hid/common/draw_helpers.h \
159         hid/common/hid_resource.c \
160         hid/common/hid_resource.h \
161         hid/hidint.h 
163 EXTRA_pcb_SOURCES = ${DBUS_SRCS} ${GL_SRCS} toporouter.c toporouter.h
164 DBUS_SRCS= \
165         dbus-pcbmain.c \
166         dbus-pcbmain.h \
167         dbus.h \
168         dbus.c
170 LIBGTK_GDK_SRCS= \
171         hid/gtk/gtkhid-gdk.c
173 LIBGTK_GL_SRCS= \
174         hid/gtk/gtkhid-gl.c
176 GL_SRCS= \
177         hid/common/hidgl.c \
178         hid/common/hidgl.h
180 BUILT_SOURCES = \
181         core_lists.h \
182         gpcb-menu.h \
183         hid/gtk/gtk_lists.h \
184         hid/lesstif/lesstif_lists.h \
185         hid/batch/batch_lists.h \
186         hid/png/png_lists.h \
187         hid/gcode/gcode_lists.h \
188         hid/nelma/nelma_lists.h \
189         hid/ps/ps_lists.h \
190         parse_y.h \
191         pcb-menu.h \
192         res_parse.h \
193         hid/common/hidlist.h
195 pcb_LDADD = @HIDLIBS@
196 pcb_DEPENDENCIES = @HIDLIBS@
198 if WITH_TOPOROUTER
199 PCB_SRCS += toporouter.c toporouter.h
200 pcb_LDADD += ../gts/libgts.a
201 pcb_DEPENDENCIES += ../gts/libgts.a
202 endif
204 pcb_SOURCES = ${PCB_SRCS} core_lists.h
206 # Action, Attribute, and Flag lists.
207 core_lists.h : ${PCB_SRCS} Makefile
208         true > $@
209         (for f in ${PCB_SRCS} ; do cat $(srcdir)/$$f ; done) | grep "^REGISTER" > $@.tmp
210         mv $@.tmp $@
212 # for globalconst.h
213 INCLUDES=       -I$(top_srcdir) -I$(srcdir)/icons -I$(srcdir)/../gts
215 DEFS=   -DLOCALEDIR=\"$(localedir)\" @DEFS@
217 EXTRA_DIST= \
218         check_icon.data \
219         default_font \
220         $(srcdir)/hid/batch/hid.conf \
221         $(srcdir)/hid/bom/hid.conf \
222         $(srcdir)/hid/gcode/hid.conf \
223         $(srcdir)/hid/gerber/hid.conf \
224         $(srcdir)/hid/gtk/gui-icons-misc.data \
225         $(srcdir)/hid/gtk/gui-icons-mode-buttons.data \
226         $(srcdir)/hid/gtk/hid.conf \
227         $(srcdir)/hid/gtk/pcb.rc \
228         $(srcdir)/hid/lesstif/hid.conf \
229         $(srcdir)/hid/lpr/hid.conf \
230         $(srcdir)/hid/png/hid.conf \
231         $(srcdir)/hid/nelma/hid.conf \
232         $(srcdir)/hid/ps/hid.conf \
233         gpcb-menu.res.in \
234         pcb-menu.res.in \
235         pcbtest.sh.in \
236         dbus.xml
238 AM_YFLAGS=      -d
240 all-local: pcbtest.sh
242 pcb-menu.res : pcb-menu.res.in
243         echo '/* AUTOMATICALLY GENERATED FROM pcb-menu.res.in DO NOT EDIT */' > $@
244         cat ${srcdir}/pcb-menu.res.in >> $@
246 pcb-menu.h : pcb-menu.res
247         echo '/* AUTOMATICALLY GENERATED FROM pcb-menu.res DO NOT EDIT */' > $@
248         echo 'const char *pcb_menu_default[] = {' >> $@
249         sed 's/\\/\\\\/g; s/"/\\"/g; s/^/"/; s/$$/",/' < pcb-menu.res >> $@
250         echo '0};' >> $@
252 gpcb-menu.res : gpcb-menu.res.in
253         echo '/* AUTOMATICALLY GENERATED FROM gpcb-menu.res.in DO NOT EDIT */' > $@
254         cat ${srcdir}/gpcb-menu.res.in >> $@
256 gpcb-menu.h : gpcb-menu.res
257         echo '/* AUTOMATICALLY GENERATED FROM gpcb-menu.res DO NOT EDIT */' > $@
258         echo 'const char *gpcb_menu_default[] = {' >> $@
259         sed 's/\\/\\\\/g; s/"/\\"/g; s/^/"/; s/$$/",/' < gpcb-menu.res >> $@
260         echo '0};' >> $@
262 hid/common/hidlist.h : Makefile
263         $(MKDIR_P) hid/common
264         true > $@
265         for e in ${HIDLIST}; do \
266           echo "HID_DEF($${e})" >> $@; \
267         done
269 libgtk_a_CPPFLAGS = -I./hid/gtk
270 LIBGTK_SRCS = \
271         dolists.h \
272         hid/hidint.h \
273         hid/gtk/ghid-cell-renderer-visibility.c \
274         hid/gtk/ghid-cell-renderer-visibility.h \
275         hid/gtk/ghid-coord-entry.c \
276         hid/gtk/ghid-coord-entry.h \
277         hid/gtk/ghid-layer-selector.c \
278         hid/gtk/ghid-layer-selector.h \
279         hid/gtk/ghid-main-menu.c \
280         hid/gtk/ghid-main-menu.h \
281         hid/gtk/ghid-route-style-selector.c \
282         hid/gtk/ghid-route-style-selector.h \
283         hid/gtk/gtkhid-main.c \
284         hid/gtk/gtkhid.h \
285         hid/gtk/gui.h \
286         hid/gtk/gui-command-window.c \
287         hid/gtk/gui-config.c \
288         hid/gtk/gui-dialog-print.c \
289         hid/gtk/gui-dialog.c \
290         hid/gtk/gui-drc-window.c \
291         hid/gtk/gui-drc-window.h \
292         hid/gtk/gui-keyref-window.c \
293         hid/gtk/gui-library-window.c \
294         hid/gtk/gui-library-window.h \
295         hid/gtk/gui-log-window.c \
296         hid/gtk/gui-misc.c \
297         hid/gtk/gui-netlist-window.c \
298         hid/gtk/gui-output-events.c \
299         hid/gtk/gui-pinout-preview.c \
300         hid/gtk/gui-pinout-preview.h \
301         hid/gtk/gui-pinout-window.c \
302         hid/gtk/gui-top-window.c \
303         hid/gtk/gui-utils.c
304 libgtk_a_SOURCES = ${LIBGTK_SRCS} hid/gtk/gtk_lists.h
306 hid/gtk/gtk_lists.h : ${LIBGTK_SRCS} Makefile
307         $(MKDIR_P) hid/gtk
308         true > $@
309         (for f in ${LIBGTK_SRCS} ; do cat $(srcdir)/$$f ; done) | grep "^REGISTER" > $@.tmp
310         mv $@.tmp $@
312 # If we are building with dbus support, we need some extra files
313 if WITH_DBUS
314 dbus-introspect.h : dbus.xml Makefile
315         echo '/* AUTOMATICALLY GENERATED FROM dbus.xml DO NOT EDIT */' > $@.tmp
316         echo "static char *pcb_dbus_introspect_xml ="  > $@.tmp
317         sed 's/\\/\\\\/g; s/"/\\"/g; s/^/"/; s/$$/"/' < $(srcdir)/dbus.xml >> $@.tmp
318         echo ";" >> $@.tmp
319         mv $@.tmp $@
321 PCB_SRCS+=      ${DBUS_SRCS}
322 BUILT_SOURCES+= dbus-introspect.h
324 endif
326 # If we are building with GL support, we need some extra files
327 if USE_GL
328 PCB_SRCS+=      ${GL_SRCS}
329 LIBGTK_SRCS+=   ${LIBGTK_GL_SRCS}
330 else
331 LIBGTK_SRCS+=   ${LIBGTK_GDK_SRCS}
332 endif
334 # If we are building on win32, then compile in some icons for the
335 # desktop and application toolbar
336 if WIN32
337 pcb_icon.o : pcb_icon.ico $(srcdir)/hid/gtk/pcb.rc
338         $(WINDRES) $(srcdir)/hid/gtk/pcb.rc $@
340 pcb_icon.ico: $(top_srcdir)/data/pcb_icon.ico
341         cp $(top_srcdir)/data/pcb_icon.ico $@
343 pcb_LDADD+=                     pcb_icon.o
344 pcb_DEPENDENCIES+=      pcb_icon.o
346 endif
349 liblesstif_a_CPPFLAGS = -I./hid/lesstif
350 LIBLESSTIF_SRCS = \
351         dolists.h \
352         hid/hidint.h \
353         hid/lesstif/dialogs.c \
354         hid/lesstif/lesstif.h \
355         hid/lesstif/library.c \
356         hid/lesstif/main.c \
357         hid/lesstif/menu.c \
358         hid/lesstif/netlist.c \
359         hid/lesstif/styles.c \
360         hid/lesstif/xincludes.h 
361 liblesstif_a_SOURCES = ${LIBLESSTIF_SRCS} hid/lesstif/lesstif_lists.h
363 hid/lesstif/lesstif_lists.h : ${LIBLESSTIF_SRCS} Makefile
364         $(MKDIR_P) hid/lesstif
365         true > $@
366         (for f in ${LIBLESSTIF_SRCS} ; do cat $(srcdir)/$$f ; done) | grep "^REGISTER" > $@.tmp
367         mv $@.tmp $@
369 libbatch_a_CPPFLAGS = -I./hid/batch
370 LIBBATCH_SRCS = \
371         hid/hidint.h \
372         hid/batch/batch.c 
373 libbatch_a_SOURCES = ${LIBBATCH_SRCS} hid/batch/batch_lists.h
375 hid/batch/batch_lists.h : ${LIBBATCH_SRCS} Makefile
376         $(MKDIR_P) hid/batch
377         true > $@
378         (for f in ${LIBBATCH_SRCS} ; do cat $(srcdir)/$$f ; done) | grep "^REGISTER" > $@.tmp
379         mv $@.tmp $@
381 libgerber_a_SOURCES = \
382         hid/hidint.h \
383         hid/gerber/gerber.c
385 libbom_a_SOURCES = \
386         hid/hidint.h \
387         hid/bom/bom.c
389 libps_a_CPPFLAGS = -I./hid/ps
390 LIBPS_SRCS = \
391         dolists.h \
392         hid/hidint.h \
393         hid/ps/ps.c \
394         hid/ps/ps.h \
395         hid/ps/eps.c 
396 libps_a_SOURCES = ${LIBPS_SRCS} hid/ps/ps_lists.h
398 hid/ps/ps_lists.h : ${LIBPS_SRCS} Makefile
399         $(MKDIR_P) hid/ps
400         true > $@
401         (for f in ${LIBPS_SRCS} ; do cat $(srcdir)/$$f ; done) | grep "^REGISTER" > $@.tmp
402         mv $@.tmp $@
404 libpng_a_CPPFLAGS = -I./hid/png
405 LIBPNG_SRCS = \
406         dolists.h \
407         hid/hidint.h \
408         hid/png/png.c \
409         hid/png/png.h 
410 libpng_a_SOURCES = ${LIBPNG_SRCS} hid/png/png_lists.h
412 hid/png/png_lists.h : ${LIBPNG_SRCS} Makefile
413         $(MKDIR_P) hid/png
414         true > $@
415         (for f in ${LIBPNG_SRCS} ; do cat $(srcdir)/$$f ; done) | grep "^REGISTER" > $@.tmp
416         mv $@.tmp $@
418 libgcode_a_CPPFLAGS = -I./hid/gcode
419 LIBGCODE_SRCS = \
420         dolists.h \
421         hid/hidint.h \
422         hid/gcode/gcode.c \
423         hid/gcode/gcode.h \
424         hid/gcode/decompose.c \
425         hid/gcode/decompose.h \
426         hid/gcode/trace.c \
427         hid/gcode/trace.h \
428         hid/gcode/curve.c \
429         hid/gcode/curve.h \
430         hid/gcode/auxiliary.h \
431         hid/gcode/bitmap.h \
432         hid/gcode/lists.h \
433         hid/gcode/potracelib.h 
434 libgcode_a_SOURCES = ${LIBGCODE_SRCS} hid/gcode/gcode_lists.h
436 hid/gcode/gcode_lists.h : ${LIBGCODE_SRCS} Makefile
437         $(MKDIR_P) hid/gcode
438         true > $@
439         (for f in ${LIBGCODE_SRCS} ; do cat $(srcdir)/$$f ; done) | grep "^REGISTER" > $@.tmp
440         mv $@.tmp $@
442 libnelma_a_CPPFLAGS = -I./hid/nelma
443 LIBNELMA_SRCS = \
444         dolists.h \
445         hid/hidint.h \
446         hid/nelma/nelma.c
447 libnelma_a_SOURCES = ${LIBNELMA_SRCS} hid/nelma/nelma_lists.h
449 hid/nelma/nelma_lists.h : ${LIBNELMA_SRCS} Makefile
450         $(MKDIR_P) hid/nelma
451         true > $@
452         (for f in ${LIBNELMA_SRCS} ; do cat $(srcdir)/$$f ; done) | grep "^REGISTER" > $@.tmp
453         mv $@.tmp $@
455 liblpr_a_SOURCES = \
456         hid/hidint.h \
457         hid/lpr/lpr.c
459 DISTCLEANFILES= pcbtest.sh gpcb-menu.h pcb-menu.h \
460         hid/batch/batch_lists.h \
461         hid/common/hidlist.h \
462         hid/gtk/gtk_lists.h \
463         hid/lesstif/lesstif_lists.h \
464         hid/png/png_lists.h \
465         hid/gcode/gcode_lists.h \
466         hid/nelma/nelma_lists.h \
467         hid/ps/ps_lists.h \
468         core_lists.h \
469         dbus-introspect.h \
470         gpcb-menu.res \
471         pcb-menu.res
473 # create wrapper script that lets you test pcb prior to installation
474 pcbtest.sh:     $(srcdir)/pcbtest.sh.in Makefile
475         sed -e 's;@BUILDDIR@;${abs_builddir};g' -e 's;@TOP_BUILDDIR@;${abs_top_builddir};g' \
476                 -e 's;@TOPSRCDIR@;${abs_top_srcdir};g' \
477                 $(srcdir)/pcbtest.sh.in > $@
478         chmod 755 $@