]>
Commit | Line | Data |
---|---|---|
59546085 | 1 | # dnsmasq is Copyright (c) 2000-2012 Simon Kelley |
824af85b SK |
2 | # |
3 | # This program is free software; you can redistribute it and/or modify | |
4 | # it under the terms of the GNU General Public License as published by | |
5 | # the Free Software Foundation; version 2 dated June, 1991, or | |
6 | # (at your option) version 3 dated 29 June, 2007. | |
7 | # | |
8 | # This program is distributed in the hope that it will be useful, | |
9 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | # GNU General Public License for more details. | |
12 | # | |
73a08a24 SK |
13 | # You should have received a copy of the GNU General Public License |
14 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
824af85b SK |
15 | |
16 | PREFIX = /usr/local | |
17 | BINDIR = ${PREFIX}/sbin | |
18 | MANDIR = ${PREFIX}/share/man | |
19 | LOCALEDIR = ${PREFIX}/share/locale | |
9e4abcb5 | 20 | |
e5ffdb9c | 21 | BUILDDIR = $(SRC) |
b36ae194 SK |
22 | |
23 | CFLAGS = -Wall -W -O2 | |
24 | ||
e5ffdb9c SK |
25 | ################################################################# |
26 | ||
824af85b | 27 | PKG_CONFIG = pkg-config |
824af85b | 28 | INSTALL = install |
1f15b81d SK |
29 | MSGMERGE = msgmerge |
30 | MSGFMT = msgfmt | |
31 | XGETTEXT = xgettext | |
824af85b | 32 | |
316e2730 SK |
33 | SRC = src |
34 | PO = po | |
35 | MAN = man | |
36 | ||
7de060b0 SK |
37 | DBUS_CFLAGS=`echo $(COPTS) | ../bld/pkg-wrapper HAVE_DBUS $(PKG_CONFIG) --cflags dbus-1` |
38 | DBUS_LIBS= `echo $(COPTS) | ../bld/pkg-wrapper HAVE_DBUS $(PKG_CONFIG) --libs dbus-1` | |
39 | IDN_CFLAGS= `echo $(COPTS) | ../bld/pkg-wrapper HAVE_IDN $(PKG_CONFIG) --cflags libidn` | |
40 | IDN_LIBS= `echo $(COPTS) | ../bld/pkg-wrapper HAVE_IDN $(PKG_CONFIG) --libs libidn` | |
41 | CT_CFLAGS= `echo $(COPTS) | ../bld/pkg-wrapper HAVE_CONNTRACK $(PKG_CONFIG) --cflags libnetfilter_conntrack` | |
42 | CT_LIBS= `echo $(COPTS) | ../bld/pkg-wrapper HAVE_CONNTRACK $(PKG_CONFIG) --libs libnetfilter_conntrack` | |
a4f04ed4 SK |
43 | LUA_CFLAGS= `echo $(COPTS) | ../bld/pkg-wrapper HAVE_LUASCRIPT $(PKG_CONFIG) --cflags lua5.1` |
44 | LUA_LIBS= `echo $(COPTS) | ../bld/pkg-wrapper HAVE_LUASCRIPT $(PKG_CONFIG) --libs lua5.1` | |
1f15b81d | 45 | SUNOS_LIBS= `if uname | grep SunOS 2>&1 >/dev/null; then echo -lsocket -lnsl -lposix4; fi` |
a4f04ed4 | 46 | VERSION= -DVERSION='\"`../bld/get-version`\"' |
9e4abcb5 | 47 | |
316e2730 SK |
48 | OBJS = cache.o rfc1035.o util.o option.o forward.o network.o \ |
49 | dnsmasq.o dhcp.o lease.o rfc2131.o netlink.o dbus.o bpf.o \ | |
c5ad4e79 SK |
50 | helper.o tftp.o log.o conntrack.o dhcp6.o rfc3315.o \ |
51 | dhcp-common.o outpacket.o radv.o | |
208b65c5 | 52 | |
c239f7de SK |
53 | HDRS = dnsmasq.h config.h dhcp-protocol.h dhcp6-protocol.h \ |
54 | dns-protocol.h radv-protocol.h | |
b36ae194 SK |
55 | |
56 | ||
e5ffdb9c SK |
57 | all : $(BUILDDIR) |
58 | @cd $(BUILDDIR) && $(MAKE) \ | |
a4f04ed4 | 59 | BUILD_CFLAGS="$(VERSION) $(DBUS_CFLAGS) $(IDN_CFLAGS) $(CT_CFLAGS) $(LUA_CFLAGS)" \ |
c72daea8 | 60 | BUILD_LIBS="$(DBUS_LIBS) $(IDN_LIBS) $(CT_LIBS) $(LUA_LIBS) $(SUNOS_LIBS)" \ |
316e2730 | 61 | -f ../Makefile dnsmasq |
9e4abcb5 SK |
62 | |
63 | clean : | |
e5ffdb9c SK |
64 | rm -f *~ $(BUILDDIR)/*.mo contrib/*/*~ */*~ $(BUILDDIR)/*.pot |
65 | rm -f $(BUILDDIR)/*.o $(BUILDDIR)/dnsmasq.a $(BUILDDIR)/dnsmasq core */core | |
9e4abcb5 | 66 | |
b8187c80 SK |
67 | install : all install-common |
68 | ||
69 | install-common : | |
824af85b SK |
70 | $(INSTALL) -d $(DESTDIR)$(BINDIR) -d $(DESTDIR)$(MANDIR)/man8 |
71 | $(INSTALL) -m 644 $(MAN)/dnsmasq.8 $(DESTDIR)$(MANDIR)/man8 | |
e5ffdb9c | 72 | $(INSTALL) -m 755 $(BUILDDIR)/dnsmasq $(DESTDIR)$(BINDIR) |
9e4abcb5 | 73 | |
e5ffdb9c SK |
74 | all-i18n : $(BUILDDIR) |
75 | @cd $(BUILDDIR) && $(MAKE) \ | |
a4f04ed4 SK |
76 | I18N=-DLOCALEDIR=\'\"$(LOCALEDIR)\"\' \ |
77 | BUILD_CFLAGS="$(VERSION) $(DBUS_CFLAGS) $(CT_CFLAGS) $(LUA_CFLAGS) `$(PKG_CONFIG) --cflags libidn`" \ | |
c72daea8 | 78 | BUILD_LIBS="$(DBUS_LIBS) $(CT_LIBS) $(LUA_LIBS) $(SUNOS_LIBS) `$(PKG_CONFIG) --libs libidn`" \ |
316e2730 | 79 | -f ../Makefile dnsmasq |
1f15b81d | 80 | @cd $(PO); for f in *.po; do \ |
e5ffdb9c | 81 | cd ../$(BUILDDIR) && $(MAKE) \ |
316e2730 | 82 | -f ../Makefile $${f%.po}.mo; \ |
b8187c80 SK |
83 | done |
84 | ||
85 | install-i18n : all-i18n install-common | |
e5ffdb9c | 86 | cd $(BUILDDIR); ../bld/install-mo $(DESTDIR)$(LOCALEDIR) $(INSTALL) |
1f15b81d | 87 | cd $(MAN); ../bld/install-man $(DESTDIR)$(MANDIR) $(INSTALL) |
b8187c80 | 88 | |
e5ffdb9c SK |
89 | merge : $(BUILDDIR) |
90 | @cd $(BUILDDIR) && $(MAKE) -f ../Makefile dnsmasq.pot | |
1f15b81d | 91 | @cd $(PO); for f in *.po; do \ |
e5ffdb9c | 92 | echo -n msgmerge $$f && $(MSGMERGE) --no-wrap -U $$f ../$(BUILDDIR)/dnsmasq.pot; \ |
b8187c80 | 93 | done |
9e4abcb5 | 94 | |
e5ffdb9c SK |
95 | $(BUILDDIR): |
96 | mkdir $(BUILDDIR) | |
b36ae194 | 97 | |
9e4abcb5 | 98 | |
316e2730 SK |
99 | # rules below are targets in recusive makes with cwd=$(SRC) |
100 | ||
b36ae194 SK |
101 | $(OBJS:.o=.c) $(HDRS): |
102 | ln -s ../$(SRC)/$@ . | |
103 | ||
1adadf58 SK |
104 | .c.o: |
105 | $(CC) $(CFLAGS) $(COPTS) $(I18N) $(BUILD_CFLAGS) $(RPM_OPT_FLAGS) -c $< | |
316e2730 | 106 | |
1adadf58 | 107 | dnsmasq : $(HDRS) $(OBJS) |
316e2730 SK |
108 | $(CC) $(LDFLAGS) -o $@ $(OBJS) $(BUILD_LIBS) $(LIBS) |
109 | ||
b36ae194 | 110 | dnsmasq.pot : $(OBJS:.o=.c) $(HDRS) |
316e2730 SK |
111 | $(XGETTEXT) -d dnsmasq --foreign-user --omit-header --keyword=_ -o $@ -i $(OBJS:.o=.c) |
112 | ||
113 | %.mo : ../po/%.po dnsmasq.pot | |
114 | $(MSGMERGE) -o - ../po/$*.po dnsmasq.pot | $(MSGFMT) -o $*.mo - | |
115 | ||
116 | ||
117 | .PHONY : all clean install install-common all-i18n install-i18n merge |