Proper dependencies of mandatory/optional bundle rebuild whether Perl is found.
[udpgate.git] / src / Makefile.am
1 # $Id$
2 # automake source for UDP Gateway Makefile
3 # Copyright (C) 2004 Jan Kratochvil <project-udpgate@jankratochvil.net>
4
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; exactly version 2 of June 1991 is required
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17
18
19 include $(top_srcdir)/Makefile-head.am
20
21 GLADE_IN= \
22                 ui-gnome.glade \
23                 ui-gnome.gladep
24
25 GLADE_OUT= \
26                 ui-gnome-interface.c \
27                 ui-gnome-interface.h \
28                 ui-gnome-callbacks.h \
29                 ui-gnome-support.c \
30                 ui-gnome-support.h
31
32 if HAVE_GNOME
33 GNOME_SRCS= \
34                 ui-gnome.c \
35                 ui-gnome.h \
36                 $(GLADE_OUT)
37 endif
38
39 if ENABLE_BUNDLE
40
41 BUNDLE_SRCS= \
42                 bundle.c \
43                 bundle.h \
44                 bundle-util.c \
45                 bundle-util.h
46
47 EXTRA_DIST+= \
48                 bundle.pl
49
50 if HAVE_PERL
51 # FIXME: GNU make(1) dependency by $(addprefix ...)
52 po_files=$(addprefix $(top_builddir)/$(POSUB)/,$(CATALOGS))
53 bundle_files=$(top_srcdir)/init.d/$(PACKAGE).init $(po_files)
54 bundle.c: bundle.pl $(bundle_files)
55         $(PERL) bundle.pl $(bundle_files) >$@
56
57 $(po_files):
58         $(MAKE) -C $(top_builddir)/$(POSUB)
59
60 endif
61 endif
62
63 udpgate_SOURCES= \
64                 configuration.c \
65                 configuration.h \
66                 main.c \
67                 main.h \
68                 network.c \
69                 network.h \
70                 packet.c \
71                 packet.h \
72                 startup-chkconfig.c \
73                 startup-chkconfig.h \
74                 startup.c \
75                 startup.h \
76                 ui-line.c \
77                 ui-line.h \
78                 $(GNOME_SRCS) \
79                 $(BUNDLE_SRCS)
80
81 EXTRA_DIST+= \
82                 $(GLADE_IN)
83
84 udpgate_CFLAGS= \
85                 -DSYSCONFDIR="$(sysconfdir)" \
86                 -DCATALOGS="$(CATALOGS)"
87 udpgate_LDADD=
88
89 udpgate-ui-gnome-interface.$(OBJEXT): ui-gnome-callbacks.h
90
91 if HAVE_GLADE_WRITESOURCE
92 # touch(1) as 'ui-gnome-callbacks.h' are not overwritten if not changed:
93 $(GLADE_OUT): $(GLADE_IN)
94         sh $(top_srcdir)/macros/glade-w.sh $<
95         @touch ui-gnome-callbacks.h
96
97 endif
98
99 CLEANFILES+= \
100                 ui-gnome-callbacks.c \
101                 ui-gnome.glade.bak \
102                 ui-gnome.gladep.bak
103
104 udpgate_LDADD+=$(POPT_LIBS) $(INTLLIBS)
105
106 # FIXME: /usr/include/gtk-2.0/gtk/gtkitemfactory.h:51: warning: function declaration isn't a prototype
107 # /* We use () here to mean unspecified arguments. This is deprecated
108 #  * as of C99, but we can't change it without breaking compatibility.
109 #  * (Note that if we are included from a C++ program () will mean
110 #  * (void) so an explicit cast will be needed.)
111 #  */
112 # typedef void  (*GtkItemFactoryCallback)  ();
113 # We cannot put '-Wno-strict-prototypes' as we get always overriden by $(CFLAGS) !
114 udpgate_CFLAGS+=$(GNOMEUI_CFLAGS)
115 udpgate_LDADD +=$(GNOMEUI_LIBS)
116
117 bin_PROGRAMS+=udpgate
118
119 EXTRA_DIST+=udpgate.pod.pl.in
120 CLEANFILES+=udpgate.pod udpgate.1
121 if ENABLE_MAN_PAGES
122 udpgate_man_cond=udpgate.1
123 endif
124 man_MANS=$(udpgate_man_cond)