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