--- embedaddon/mpd/src/Makefile 2012/02/21 23:32:47 1.1 +++ embedaddon/mpd/src/Makefile 2023/09/27 11:08:00 1.1.1.6.2.1 @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.1 2012/02/21 23:32:47 misho Exp $ +# $Id: Makefile,v 1.1.1.6.2.1 2023/09/27 11:08:00 misho Exp $ # # Makefile for mpd, multi-link PPP daemon for FreeBSD # @@ -9,11 +9,15 @@ PROG?= mpd5 PREFIX?= /usr/local +LOCALBASE?= ${PREFIX} BINDIR?= ${PREFIX}/sbin -VERSION= 5.6 +VERSION= 5.9 NOMAN= -NO_MAN= +MK_MAN= no +BINOWN!= /usr/bin/id -n -u +BINGRP!= /usr/bin/id -n -g + # Default configuration directory MPD_CONF_DIR?= ${PREFIX}/etc/mpd5 @@ -43,7 +47,7 @@ ECP_DES= yes USE_NG_BPF= yes USE_NG_CAR= yes USE_NG_DEFLATE= yes -USE_NG_IPACCT= yes +USE_NG_IPACCT?= yes USE_NG_MPPC= yes USE_NG_NAT= yes USE_NG_NETFLOW= yes @@ -56,70 +60,77 @@ USE_TCP_WRAP= yes #USE_AUTH_OPIE= yes USE_AUTH_PAM= yes USE_AUTH_SYSTEM= yes +USE_RADIUS?= yes -# Build with builtin libpdel - -NOLIBPDEL= yes - -# Build without builtin web server - +# Build without builtin web server. #NOWEB= yes # Set syslog logging facility. Change LOG_DAEMON to whatever you like. - +# Comment this line disable syslog (3) support SYSLOG_FACILITY= LOG_DAEMON -COPTS+= -DPROTO_NAME_LIST +# Print wide protocol names instead of short names. +# Comment this line, to save about 10 KB space +CFLAGS+= -DPROTO_NAME_LIST + +# Reduce some internal structures size to save more memory +# This is to limit amount of active sessions +#SMALL_SYSTEM= yes + # Compiler & linker flags -.if defined ( USE_TCP_WRAP ) +.if exists ( /usr/lib/libwrap.so ) && defined ( USE_TCP_WRAP ) ## filter TCP accept connections LDADD+= -lwrap DPADD+= ${LIBWRAP} -COPTS+= -DUSE_WRAP +CFLAGS+= -DUSE_WRAP .endif ## authentication methods: opie, pam, /etc/password .if defined ( USE_AUTH_OPIE ) LDADD+= -lopie DPADD+= ${LIBOPIE} -COPTS+= -DUSE_OPIE +CFLAGS+= -DUSE_OPIE .endif -.if defined ( USE_AUTH_PAM ) +.if exists ( /usr/lib/libpam.so ) && defined ( USE_AUTH_PAM ) LDADD+= -lpam DPADD+= ${LIBPAM} -COPTS+= -DUSE_PAM +CFLAGS+= -DUSE_PAM .endif .if defined ( USE_AUTH_SYSTEM ) ## based on /etc/password -LDADD+= -lcrypt -lutil +LDADD+= -lcrypt DPADD+= ${LIBCRYPT} ${LIBUTIL} -COPTS+= -DUSE_SYSTEM +CFLAGS+= -DUSE_SYSTEM .endif -LDADD+= -lnetgraph +LDADD+= -lnetgraph -lutil DPADD+= ${LIBNETGRAPH} +.if defined ( USE_RADIUS ) && ( ${USE_RADIUS} == yes ) LDADD+= -L/usr/lib -lradius DPADD+= ${LIBRADIUS} +.endif -## libpdel needs ssl and libexpat (libxml2 cannot be used) -.if !defined ( NOLIBPDEL ) -LDADD+= -L${PREFIX}/lib -LDADD+= -lpdel -LDADD+= -lexpat +# Obtained from bsd.port.mk +.if !defined ( OSVERSION ) +OSVERSION!= awk '/^\#define[[:blank:]]__FreeBSD_version/ {print $$3}' < /usr/include/sys/param.h .endif -LDADD+= -lssl +.sinclude "/etc/src.conf" + +.if ${OSVERSION} < 1200084 || defined ( WITHOUT_REPRODUCIBLE_BUILD ) MPD_VERSION!= echo -n "${VERSION} (`id -un`@`uname -n` `LC_TIME=C date +'%R %v'`)" +.else +MPD_VERSION!= echo -n "${VERSION}" +.endif -COPTS+= -DPATH_CONF_DIR=\"${MPD_CONF_DIR}\" -COPTS+= -DSYSLOG_FACILITY=${SYSLOG_FACILITY} -COPTS+= -DMPD_VERSION='"${MPD_VERSION}"' -COPTS+= -g -COPTS+= -Wall \ +CFLAGS+= -DPATH_CONF_DIR='"${MPD_CONF_DIR}"' +CFLAGS+= -DMPD_VERSION='"${MPD_VERSION}"' +CFLAGS+= -g +CFLAGS+= -Wall \ -Wcast-align \ -Wchar-subscripts \ -Wformat \ @@ -129,29 +140,38 @@ COPTS+= -Wall \ -Wnested-externs \ -Wpointer-arith \ -Wwrite-strings \ - -pthread \ - -I${PREFIX}/include + -pthread .if defined ( MPD_VENDOR ) -COPTS+= '-DMPD_VENDOR="${MPD_VENDOR}"' +CFLAGS+= -DMPD_VENDOR='"${MPD_VENDOR}"' .endif +.if defined ( SYSLOG_FACILITY ) +CFLAGS+= -DSYSLOG_FACILITY='"${SYSLOG_FACILITY}"' +.endif + +CFLAGS+= -DOPENSSL_API_COMPAT=10100 + # Standard sources STDSRCS= assert.c auth.c bund.c rep.c ccp.c chap.c \ console.c command.c ecp.c event.c fsm.c iface.c input.c \ ip.c ipcp.c ipv6cp.c lcp.c link.c log.c main.c mbuf.c mp.c \ - msg.c ngfunc.c pap.c phys.c proto.c radius.c radsrv.c timer.c \ - util.c vars.c eap.c msoft.c ippool.c + msg.c ngfunc.c pap.c phys.c proto.c timer.c \ + util.c vars.c msoft.c ippool.c +.if defined ( USE_RADIUS ) && ( ${USE_RADIUS} == yes ) +STDSRCS+= eap.c radius.c radsrv.c +.endif + .if defined ( NOWEB ) -COPTS+= -DNOWEB +CFLAGS+= -DNOWEB .else STDSRCS+= web.c +LDADD+= -lssl .endif -.if defined ( NOLIBPDEL ) -COPTS+= -DNOLIBPDEL -I./contrib/libpdel +CFLAGS+= -DNOLIBPDEL -I. -I./contrib/libpdel PDPATH1= contrib/libpdel/util:contrib/libpdel/structs PDPATH2= contrib/libpdel/structs/type .if defined ( NOWEB ) @@ -189,60 +209,59 @@ PDELSRCS+= http_connection.c \ string_fp.c \ timeout_fp.c .endif -.endif # Add sources and flags for the various physical layer types .if defined ( PHYSTYPE_MODEM ) SRCS+= modem.c chat.c -COPTS+= -DPHYSTYPE_MODEM +CFLAGS+= -DPHYSTYPE_MODEM .endif .if defined ( PHYSTYPE_UDP ) SRCS+= udp.c -COPTS+= -DPHYSTYPE_UDP +CFLAGS+= -DPHYSTYPE_UDP .endif .if defined ( PHYSTYPE_TCP ) SRCS+= tcp.c -COPTS+= -DPHYSTYPE_TCP +CFLAGS+= -DPHYSTYPE_TCP .endif .if defined ( PHYSTYPE_NG_SOCKET ) SRCS+= ng.c -COPTS+= -DPHYSTYPE_NG_SOCKET +CFLAGS+= -DPHYSTYPE_NG_SOCKET .endif .if defined ( PHYSTYPE_PPTP ) SRCS+= pptp.c pptp_ctrl.c -COPTS+= -DPHYSTYPE_PPTP -COPTS+= -DRANDOMIZE_CID -#COPTS+= -DLOOK_LIKE_NT +CFLAGS+= -DPHYSTYPE_PPTP +CFLAGS+= -DRANDOMIZE_CID +#CFLAGS+= -DLOOK_LIKE_NT .endif .if defined ( PHYSTYPE_PPPOE ) SRCS+= pppoe.c -COPTS+= -DPHYSTYPE_PPPOE +CFLAGS+= -DPHYSTYPE_PPPOE .endif .if defined ( PHYSTYPE_L2TP ) SRCS+= l2tp.c l2tp_avp.c l2tp_ctrl.c -COPTS+= -DPHYSTYPE_L2TP +CFLAGS+= -DPHYSTYPE_L2TP .endif # CCP .if defined ( CCP_DEFLATE ) && defined ( USE_NG_DEFLATE ) SRCS+= ccp_deflate.c -COPTS+= -DCCP_DEFLATE -COPTS+= -DUSE_NG_DEFLATE +CFLAGS+= -DCCP_DEFLATE +CFLAGS+= -DUSE_NG_DEFLATE .endif .if defined ( CCP_MPPC ) && defined ( USE_NG_MPPC ) SRCS+= ccp_mppc.c -COPTS+= -DCCP_MPPC -COPTS+= -DUSE_NG_MPPC +CFLAGS+= -DCCP_MPPC +CFLAGS+= -DUSE_NG_MPPC .endif .if defined ( CCP_PRED1 ) SRCS+= ccp_pred1.c -COPTS+= -DCCP_PRED1 +CFLAGS+= -DCCP_PRED1 .if defined ( USE_NG_PRED1 ) -COPTS+= -DUSE_NG_PRED1 +CFLAGS+= -DUSE_NG_PRED1 .endif .endif @@ -251,58 +270,60 @@ COPTS+= -DUSE_NG_PRED1 .if defined ( ECP_DES ) SRCS+= ecp_dese.c SRCS+= ecp_dese_bis.c -COPTS+= -DECP_DES +CFLAGS+= -DECP_DES NEED_DES= yes .endif # Features .if defined ( USE_NG_BPF ) -COPTS+= -DUSE_NG_BPF +CFLAGS+= -DUSE_NG_BPF LDADD+= -lpcap DPADD+= ${LIBPCAP} .endif .if defined ( USE_NG_CAR ) -COPTS+= -DUSE_NG_CAR +CFLAGS+= -DUSE_NG_CAR .endif -.if defined ( USE_NG_IPACCT ) -COPTS+= -DUSE_NG_IPACCT +.if defined ( USE_NG_IPACCT ) && ( ${USE_NG_IPACCT} == yes ) +CFLAGS+= -DUSE_NG_IPACCT -nostdinc -I/usr/include -I${LOCALBASE}/include .endif .if defined ( USE_NG_NAT ) SRCS+= nat.c -COPTS+= -DUSE_NG_NAT +CFLAGS+= -DUSE_NG_NAT .endif .if defined ( USE_NG_NETFLOW ) -COPTS+= -DUSE_NG_NETFLOW +CFLAGS+= -DUSE_NG_NETFLOW .endif .if defined ( USE_NG_TCPMSS ) -COPTS+= -DUSE_NG_TCPMSS +CFLAGS+= -DUSE_NG_TCPMSS .endif .if defined ( USE_NG_VJC ) -COPTS+= -DUSE_NG_VJC +CFLAGS+= -DUSE_NG_VJC .endif .if defined ( USE_IPFW ) -COPTS+= -DUSE_IPFW +CFLAGS+= -DUSE_IPFW .endif .if defined ( USE_FETCH ) -COPTS+= -DUSE_FETCH +CFLAGS+= -DUSE_FETCH LDADD+= -lfetch DPADD+= ${LIBFETCH} .endif +.if defined ( SMALL_SYSTEM ) +CFLAGS+= -DSMALL_SYSTEM +.endif # Add in required support files and libraries - -.if defined ( NEED_DES ) LDADD+= -lcrypto DPADD+= ${LIBCRYPTO} + +.if exists ( /usr/lib/libexecinfo.so ) +LDADD+= -lexecinfo +CFLAGS+= -DUSE_BACKTRACE .endif # Now add standard sources SRCS+= ${STDSRCS} - -.if defined ( NOLIBPDEL ) SRCS+= ${PDELSRCS} -.endif .include