1# @configure_input@ 2#*********************************************************************** 3# 4# Makefile 5# 6# Makefile for Roaring Penguin's Linux user-space PPPoE client. 7# 8# Copyright (C) 2000 Roaring Penguin Software Inc. 9# 10# This program may be distributed according to the terms of the GNU 11# General Public License, version 2 or (at your option) any later version. 12# 13# LIC: GPL 14# 15# $Id$ 16#*********************************************************************** 17 18# Version is set ONLY IN THE MAKEFILE! Don't delete this! 19VERSION=3.11 20 21DEFINES= 22prefix=@prefix@ 23exec_prefix=@exec_prefix@ 24mandir=@mandir@ 25docdir=@prefix@/share/doc/rp-pppoe-$(VERSION) 26install=@INSTALL@ 27install_dir=@INSTALL@ -d 28sbindir=@sbindir@ 29 30# Plugin for pppd on Linux 31LINUX_KERNELMODE_PLUGIN=@LINUX_KERNELMODE_PLUGIN@ 32PPPD_INCDIR=@PPPD_INCDIR@ 33 34# Licensed version 35LIC_INCDIR=@LIC_INCDIR@ 36LIC_LIBDIR=@LIC_LIBDIR@ 37LIC_LIB=@LIC_LIB@ 38LIC_DEFINE=@LIC_DEFINE@ 39 40# PPPoE relay -- currently only supported on Linux 41PPPOE_RELAY=@PPPOE_RELAY@ 42 43# Program paths 44PPPOE_PATH=$(sbindir)/pppoe 45PPPD_PATH=@PPPD@ 46 47# Include ServPoET version if we're building for ServPoET 48@LIC_MAKEFILE_INCLUDE@ 49 50# Kernel-mode plugin gets installed here. 51PLUGIN_DIR=/etc/ppp/plugins 52PLUGIN_PATH=$(PLUGIN_DIR)/rp-pppoe.so 53 54# Configuration file paths 55PPPOESERVER_PPPD_OPTIONS=/etc/ppp/pppoe-server-options 56 57PATHS='-DPPPOE_PATH="$(PPPOE_PATH)"' '-DPPPD_PATH="$(PPPD_PATH)"' \ 58 '-DPLUGIN_PATH="$(PLUGIN_PATH)"' \ 59 '-DPPPOE_SERVER_OPTIONS="$(PPPOESERVER_PPPD_OPTIONS)"' 60 61CFLAGS= @CFLAGS@ $(LIC_INCDIR) $(DEFINES) $(LIC_DEFINE) $(PATHS) -Ilibevent 62TARGETS=@TARGETS@ 63PPPOE_SERVER_LIBS=$(LIC_LIBDIR) $(LIC_LIB) 64LDFLAGS= @LDFLAGS@ 65 66all: $(TARGETS) 67 @echo "" 68 @echo "Type 'make install' as root to install the software." 69 70pppoe-sniff: pppoe-sniff.o if.o common.o debug.o 71 @CC@ -o $@ $^ $(LDFLAGS) 72 73pppoe-server: pppoe-server.o if.o debug.o common.o md5.o libevent/libevent.a @PPPOE_SERVER_DEPS@ 74 @CC@ -o $@ @RDYNAMIC@ $^ $(LDFLAGS) $(PPPOE_SERVER_LIBS) -Llibevent -levent 75 76pppoe: pppoe.o if.o debug.o common.o ppp.o discovery.o 77 @CC@ -o $@ $^ $(LDFLAGS) 78 79pppoe-relay: relay.o if.o debug.o common.o 80 @CC@ -o $@ $^ $(LDFLAGS) 81 82pppoe.o: pppoe.c pppoe.h 83 @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o $@ $< 84 85discovery.o: discovery.c pppoe.h 86 @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o $@ $< 87 88ppp.o: ppp.c pppoe.h 89 @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o $@ $< 90 91md5.o: md5.c md5.h 92 @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o $@ $< 93 94pppoe-server.o: pppoe-server.c pppoe.h @PPPOE_SERVER_DEPS@ 95 @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o $@ $< 96 97pppoe-sniff.o: pppoe-sniff.c pppoe.h 98 @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o $@ $< 99 100if.o: if.c pppoe.h 101 @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o $@ $< 102 103libevent/libevent.a: 104 cd libevent && $(MAKE) DEFINES="$(DEFINES)" 105 106common.o: common.c pppoe.h 107 @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o $@ $< 108 109debug.o: debug.c pppoe.h 110 @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o $@ $< 111 112relay.o: relay.c relay.h pppoe.h 113 @CC@ $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o $@ $< 114 115# Linux-specific plugin 116rp-pppoe.so: plugin/plugin.o plugin/libplugin.a 117 @CC@ -o $@ -shared $^ $(LDFLAGS) 118 119plugin/plugin.o: plugin.c 120 @CC@ -DPLUGIN=1 '-DRP_VERSION="$(VERSION)"' $(CFLAGS) -I$(PPPD_INCDIR) -c -o $@ -fPIC $< 121 122plugin/libplugin.a: plugin/discovery.o plugin/if.o plugin/common.o plugin/debug.o 123 ar -rc $@ $^ 124 125plugin/discovery.o: discovery.c 126 @CC@ -DPLUGIN=1 $(CFLAGS) -I$(PPPD_INCDIR) -c -o $@ -fPIC $< 127 128plugin/if.o: if.c 129 @CC@ -DPLUGIN=1 $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o $@ -fPIC $< 130 131plugin/debug.o: debug.c 132 @CC@ -DPLUGIN=1 $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o $@ -fPIC $< 133 134plugin/common.o: common.c 135 @CC@ -DPLUGIN=1 $(CFLAGS) '-DVERSION="$(VERSION)"' -c -o $@ -fPIC $< 136 137install: all 138 -mkdir -p $(DESTDIR)$(sbindir) 139 $(install) -m 755 pppoe $(DESTDIR)$(sbindir) 140 $(install) -m 755 pppoe-server $(DESTDIR)$(sbindir) 141 if test -x licensed-only/pppoe-server-control ; then $(install) -m 755 licensed-only/pppoe-server-control $(DESTDIR)$(sbindir); fi 142 if test -x pppoe-relay ; then $(install) -m 755 pppoe-relay $(DESTDIR)$(sbindir); fi 143 if test -x pppoe-sniff; then $(install) -m 755 pppoe-sniff $(DESTDIR)$(sbindir); fi 144 $(install) -m 755 ../scripts/pppoe-connect $(DESTDIR)$(sbindir) 145 $(install) -m 755 ../scripts/pppoe-start $(DESTDIR)$(sbindir) 146 $(install) -m 755 ../scripts/pppoe-status $(DESTDIR)$(sbindir) 147 $(install) -m 755 ../scripts/pppoe-stop $(DESTDIR)$(sbindir) 148 $(install) -m 755 ../scripts/pppoe-setup $(DESTDIR)$(sbindir) 149 -mkdir -p $(DESTDIR)$(docdir) 150 $(install) -m 644 ../doc/CHANGES $(DESTDIR)$(docdir) 151 $(install) -m 644 ../doc/KERNEL-MODE-PPPOE $(DESTDIR)$(docdir) 152 $(install) -m 644 ../doc/HOW-TO-CONNECT $(DESTDIR)$(docdir) 153 $(install) -m 644 ../doc/LICENSE $(DESTDIR)$(docdir) 154 $(install) -m 644 ../README $(DESTDIR)$(docdir) 155 $(install) -m 644 ../SERVPOET $(DESTDIR)$(docdir) 156 $(install) -m 644 ../configs/pap-secrets $(DESTDIR)$(docdir) 157 -mkdir -p $(DESTDIR)$(mandir)/man8 158 for i in $(TARGETS) ; do \ 159 if test -f ../man/$$i.8 ; then \ 160 $(install) -m 644 ../man/$$i.8 $(DESTDIR)$(mandir)/man8 || exit 1; \ 161 fi; \ 162 done 163 $(install) -m 644 ../man/pppoe-start.8 $(DESTDIR)$(mandir)/man8 164 $(install) -m 644 ../man/pppoe-stop.8 $(DESTDIR)$(mandir)/man8 165 $(install) -m 644 ../man/pppoe-status.8 $(DESTDIR)$(mandir)/man8 166 $(install) -m 644 ../man/pppoe-connect.8 $(DESTDIR)$(mandir)/man8 167 $(install) -m 644 ../man/pppoe-setup.8 $(DESTDIR)$(mandir)/man8 168 -mkdir -p $(DESTDIR)$(mandir)/man5 169 $(install) -m 644 ../man/pppoe.conf.5 $(DESTDIR)$(mandir)/man5 170 -mkdir -p $(DESTDIR)/etc/ppp 171 -mkdir -p $(DESTDIR)$(PLUGIN_DIR) 172 -echo "# Directory created by rp-pppoe for kernel-mode plugin" > $(DESTDIR)$(PLUGIN_DIR)/README 173 @if test -r rp-pppoe.so; then $(install) -m 755 rp-pppoe.so $(DESTDIR)$(PLUGIN_DIR); fi 174 @for i in pppoe.conf firewall-standalone firewall-masq ; do \ 175 if [ ! -f $(DESTDIR)/etc/ppp/$$i ] ; then \ 176 $(install) -m 644 ../configs/$$i $(DESTDIR)/etc/ppp ; \ 177 else \ 178 echo "NOT overwriting existing $(DESTDIR)/etc/ppp/$$i" ;\ 179 $(install) -m 644 ../configs/$$i $(DESTDIR)/etc/ppp/$$i-$(VERSION) ;\ 180 fi ;\ 181 done 182 @if [ ! -f $(DESTDIR)$(PPPOESERVER_PPPD_OPTIONS) ] ; then \ 183 $(install) -m 644 ../configs/pppoe-server-options $(DESTDIR)$(PPPOESERVER_PPPD_OPTIONS) ; \ 184 else \ 185 echo "NOT overwriting existing $(DESTDIR)$(PPPOESERVER_PPPD_OPTIONS)"; \ 186 $(install) -m 644 ../configs/pppoe-server-options $(DESTDIR)$(PPPOESERVER_PPPD_OPTIONS)-example ; \ 187 fi 188 @if [ -f /etc/redhat-release ] ; then \ 189 echo "Looks like a Red Hat system; installing $(DESTDIR)/etc/rc.d/init.d/pppoe" ; \ 190 mkdir -p $(DESTDIR)/etc/rc.d/init.d ;\ 191 $(install) -m 755 ../scripts/pppoe-init $(DESTDIR)/etc/rc.d/init.d/pppoe ; \ 192 fi 193 @if [ -f /etc/turbolinux-release ] ; then \ 194 echo "Looks like a TurboLinux system; installing $(DESTDIR)/etc/rc.d/init.d/pppoe" ; \ 195 mkdir -p $(DESTDIR)/etc/rc.d/init.d ;\ 196 $(install) -m 755 ../scripts/pppoe-init-turbolinux $(DESTDIR)/etc/rc.d/init.d/pppoe ; \ 197 fi 198 @if [ -f /etc/SuSE-release ] ; then \ 199 echo "Looks like a SuSE Linux system; installing $(DESTDIR)/etc/rc.d/init.d/pppoe" ; \ 200 mkdir -p $(DESTDIR)/etc/rc.d/init.d ;\ 201 $(install) -m 755 ../scripts/pppoe-init-suse $(DESTDIR)/etc/rc.d/init.d/pppoe ; \ 202 fi 203 204 @if [ -f l2tp/handlers/sync-pppd.so ] ; then \ 205 mkdir -p $(DESTDIR)/usr/lib/l2tp/plugins ; \ 206 $(install) -m 755 l2tp/handlers/sync-pppd.so $(DESTDIR)/usr/lib/l2tp/plugins ; \ 207 mkdir -p $(DESTDIR)/etc/l2tp ; \ 208 $(install) -m 600 l2tp/l2tp.conf $(DESTDIR)/etc/l2tp/l2tp.conf.example ; \ 209 fi 210 @echo "" 211 @echo "Type 'pppoe-setup' to configure the software." 212 213servpoet-tgz: distro-servpoet 214 cd .. && tar cvf servpoet-$(VERSION)$(BETA).tar servpoet-$(VERSION)$(BETA) 215 gzip -f -v -9 ../servpoet-$(VERSION)$(BETA).tar 216 rm -rf ../servpoet-$(VERSION)$(BETA) 217 218tgz: distro 219 cd .. && tar cvf rp-pppoe-$(VERSION)$(BETA).tar rp-pppoe-$(VERSION)$(BETA) 220 gzip -f -v -9 ../rp-pppoe-$(VERSION)$(BETA).tar 221 rm -rf ../rp-pppoe-$(VERSION)$(BETA) 222 223distro-servpoet: distro 224 cp ../servpoet.spec ../rp-pppoe-$(VERSION)$(BETA) 225 $(MAKE) -C licensed-only distro VERSION=$(VERSION) BETA=$(BETA) 226 mv ../rp-pppoe-$(VERSION)$(BETA) ../servpoet-$(VERSION)$(BETA) 227 228distro: 229 rm -rf ../rp-pppoe-$(VERSION)$(BETA) 230 mkdir ../rp-pppoe-$(VERSION)$(BETA) 231 for i in README SERVPOET go go-gui rp-pppoe.spec ; do \ 232 cp ../$$i ../rp-pppoe-$(VERSION)$(BETA) || exit 1; \ 233 done 234 mkdir ../rp-pppoe-$(VERSION)$(BETA)/gui 235 for i in en.msg ja.msg Makefile.in tkpppoe.in wrapper.c tkpppoe.1 pppoe-wrapper.1 ; do \ 236 cp ../gui/$$i ../rp-pppoe-$(VERSION)$(BETA)/gui || exit 1; \ 237 done 238 mkdir ../rp-pppoe-$(VERSION)$(BETA)/gui/html 239 for i in mainwin-busy.png mainwin-nonroot.png mainwin.png props-advanced.png props-basic.png props-nic.png props-options.png tkpppoe.html ; do \ 240 cp ../gui/html/$$i ../rp-pppoe-$(VERSION)$(BETA)/gui/html || exit 1; \ 241 done 242 mkdir ../rp-pppoe-$(VERSION)$(BETA)/configs 243 for i in firewall-masq firewall-standalone pap-secrets pppoe-server-options pppoe.conf ; do \ 244 cp ../configs/$$i ../rp-pppoe-$(VERSION)$(BETA)/configs || exit 1; \ 245 done 246 mkdir ../rp-pppoe-$(VERSION)$(BETA)/doc 247 for i in CHANGES KERNEL-MODE-PPPOE HOW-TO-CONNECT LICENSE PROBLEMS ; do \ 248 cp ../doc/$$i ../rp-pppoe-$(VERSION)$(BETA)/doc || exit 1; \ 249 done 250 mkdir ../rp-pppoe-$(VERSION)$(BETA)/man 251 for i in pppoe-connect.8 pppoe-setup.8 pppoe-start.8 pppoe-status.8 pppoe-stop.8 pppoe-server.8 pppoe-sniff.8 pppoe.8 pppoe-relay.8 pppoe.conf.5 ; do \ 252 cp ../man/$$i ../rp-pppoe-$(VERSION)$(BETA)/man || exit 1; \ 253 done 254 mkdir ../rp-pppoe-$(VERSION)$(BETA)/scripts 255 for i in pppoe-connect.in pppoe-init-suse.in pppoe-init-turbolinux.in pppoe-init.in pppoe-setup.in pppoe-start.in pppoe-stop.in pppoe-status ; do \ 256 cp ../scripts/$$i ../rp-pppoe-$(VERSION)$(BETA)/scripts || exit 1; \ 257 done 258 mkdir ../rp-pppoe-$(VERSION)$(BETA)/src 259 for i in Makefile.in install-sh common.c config.h.in configure configure.in debug.c discovery.c if.c md5.c md5.h ppp.c pppoe-server.c pppoe-sniff.c pppoe.c pppoe.h pppoe-server.h plugin.c relay.c relay.h ; do \ 260 cp ../src/$$i ../rp-pppoe-$(VERSION)$(BETA)/src || exit 1; \ 261 done 262 mkdir ../rp-pppoe-$(VERSION)$(BETA)/src/libevent 263 for i in Makefile.in event.c event.h event_tcp.c event_tcp.h eventpriv.h hash.c hash.h event_sig.c ; do \ 264 cp ../src/libevent/$$i ../rp-pppoe-$(VERSION)$(BETA)/src/libevent || exit 1; \ 265 done 266 mkdir ../rp-pppoe-$(VERSION)$(BETA)/src/plugin 267 268distro-beta: beta-check 269 $(MAKE) distro BETA=-BETA-$(BETA) 270 271tgz-beta: beta-check 272 $(MAKE) tgz BETA=-BETA-$(BETA) 273 274beta-check: 275 @if test "$(BETA)" = "" ; then \ 276 echo "Usage: make distro-beta BETA=<x>"; \ 277 exit 1; \ 278 fi 279 280rpms: tgz 281 cp ../rp-pppoe-$(VERSION).tar.gz /usr/src/redhat/SOURCES 282 gpg --detach-sign /usr/src/redhat/SOURCES/rp-pppoe-$(VERSION).tar.gz 283 cd ..; \ 284 rpm -ba rp-pppoe.spec 285 rpm --addsign /usr/src/redhat/SRPMS/rp-pppoe-$(VERSION)-1.src.rpm \ 286 /usr/src/redhat/RPMS/i386/rp-pppoe-$(VERSION)-1.i386.rpm \ 287 /usr/src/redhat/RPMS/i386/rp-pppoe-gui-$(VERSION)-1.i386.rpm 288 289servpoet-rpms: servpoet-tgz 290 cp ../servpoet-$(VERSION).tar.gz /usr/src/redhat/SOURCES 291 cd .. && rpm -ba servpoet.spec 292 293clean: 294 rm -f *.o pppoe-relay pppoe pppoe-sniff pppoe-server core rp-pppoe.so plugin/*.o plugin/libplugin.a *~ 295 test -f licensed-only/Makefile && $(MAKE) -C licensed-only clean || true 296 test -f libevent/Makefile && $(MAKE) -C libevent clean || true 297 test -f l2tp/Makefile && $(MAKE) -C l2tp clean || true 298 299distclean: clean 300 rm -f Makefile config.h config.cache config.log config.status 301 rm -f libevent/Makefile 302 rm -f ../scripts/pppoe-connect ../scripts/pppoe-start ../scripts/pppoe-stop ../scripts/pppoe-init ../scripts/pppoe-setup ../scripts/pppoe-init-suse ../scripts/pppoe-init-turbolinux 303 304update-version: 305 sed -e 's/^Version: .*$$/Version: $(VERSION)/' ../rp-pppoe.spec > ../rp-pppoe.spec.new && mv ../rp-pppoe.spec.new ../rp-pppoe.spec 306 sed -e 's+^Source: .*$$+Source: http://www.roaringpenguin.com/pppoe/rp-pppoe-$(VERSION).tar.gz+' ../rp-pppoe.spec > ../rp-pppoe.spec.new && mv ../rp-pppoe.spec.new ../rp-pppoe.spec 307 test -f ../servpoet.spec && sed -e 's/^Version: .*$$/Version: $(VERSION)/' ../servpoet.spec > ../servpoet.spec.new && mv ../servpoet.spec.new ../servpoet.spec || true 308 test -f ../servpoet.spec && sed -e 's+^Source: .*$$+Source: http://www.roaringpenguin.com/pppoe/servpoet-$(VERSION).tar.gz+' ../servpoet.spec > ../servpoet.spec.new && mv ../servpoet.spec.new ../servpoet.spec || true 309 310# Convenience target for David! Don't try to use this one. 311km: 312 ./configure --enable-plugin=/home/dfs/Archive/PPP/ppp-2.4.0.pppoe4-patched-dfs 313 314licensed-only: 315 $(MAKE) -C licensed-only all VERSION=$(VERSION) SERVPOET_VERSION=$(SERVPOET_VERSION) 316 317l2tp: libevent/libevent.a 318 $(MAKE) -C l2tp all 319 320.PHONY: update-version 321 322.PHONY: clean 323 324.PHONY: distclean 325 326.PHONY: rpms 327 328.PHONY: licensed-only 329 330.PHONY: distro 331 332.PHONY: l2tp 333