1#
2# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
3# Use is subject to license terms.
4#
5# cmd/cmd-inet/usr.bin/pppd/Makefile
6#
7# Copyright (c) 2019, Joyent, Inc.
8
9include		../../../Makefile.cmd
10include		Makefile.def
11
12PROG=		pppd
13SUBDIRS=	plugins
14OBJS=		auth.o ccp.o chap.o demand.o fsm.o ipcp.o ipv6cp.o \
15		lcp.o magic.o main.o options.o sys-solaris.o upap.o utils.o \
16		multilink.o cbcp.o
17
18# Object tdb.o used only for Multilink; not supported yet.
19
20all:=		TARGET= all
21install:=	TARGET= install
22clean:=		TARGET= clean
23clobber:=	TARGET= clobber
24lint:=		TARGET= lint
25
26LDLIBS +=	-lpam -lmd -lsocket -lnsl -ldlpi
27
28#
29# We need absolute path to /etc/ppp/plugins and /usr/lib/inet/ppp, not
30# that of the proto area
31#
32LDFLAGS +=	-R$(ETCPPPPLUGINDIR_ABS) -R$(LIBPPPPLUGINDIR_ABS)
33
34CPPFLAGS +=	-DPLUGIN -DSVR4 -DSOL2 -DINET6
35CPPFLAGS +=	-D_PATH_VARRUN='"/var/run/"'
36CPPFLAGS +=	-DNEGOTIATE_FCS -DCBCP_SUPPORT -DALLOW_PAM -DHAS_SHADOW
37CPPFLAGS +=	-DHAVE_MMAP -DCOMP_TUNE -DMUX_FRAME
38$(NOT_RELEASE_BUILD)CPPFLAGS +=	-DDEBUG
39
40.KEEP_STATE:
41
42.PARALLEL:	$(SUBDIRS)
43
44all:		$(PROG) $(SUBDIRS)
45
46# MS-CHAP support
47CPPFLAGS +=	-DHAVE_CRYPT_H -DUSE_CRYPT -DHAVE_LIBMD
48CPPFLAGS +=	-DCHAPMS -DMSLANMAN
49CPPFLAGS +=	-DCHAPMSV2
50OBJS +=		chap_ms.o
51EXOBJS +=	mschap_test.o
52CLOBBERFILES +=	mschap_test
53
54CERRWARN +=	$(CNOWARN_UNINIT)
55
56# main() is too hairy for smatch
57SMATCH=off
58
59# This is used *only* for testing the portability of the libraries
60# required for MS-CHAPv1.  It is not needed in any normal system and
61# is not built by default.
62mschap_test:	mschap_test.o chap_ms.o
63	$(LINK.c) -o mschap_test mschap_test.o chap_ms.o $(LDFLAGS) -lmd
64	@echo "Run with 'mschap_test 00000000000000000000000000000000 hello'"
65	@echo
66	@echo "Output should be:"
67	@echo
68	@echo " MS-CHAPv1 with LAN Manager -- 49 bytes:"
69	@echo "  C9 CA EE 9B 1C A7 87 04"
70	@echo "  79 36 8C 55 AB 88 EC 5A"
71	@echo "  57 E9 A1 B7 95 40 C3 74"
72	@echo "  F4 D9 9D AF 82 64 DC 3C"
73	@echo "  53 F9 BC 92 14 B5 5D 9E"
74	@echo "  78 C4 21 48 9D B7 A8 B4"
75	@echo "  01"
76	@echo "  MS-CHAPv2 -- 49 bytes:"
77	@echo "  xx xx xx xx xx xx xx xx"
78	@echo "  xx xx xx xx xx xx xx xx"
79	@echo "  00 00 00 00 00 00 00 00"
80	@echo "  xx xx xx xx xx xx xx xx"
81	@echo "  xx xx xx xx xx xx xx xx"
82	@echo "  xx xx xx xx xx xx xx xx"
83	@echo "  00"
84
85.PARALLEL:	$(OBJS)
86
87$(PROG):	$(OBJS)
88	$(LINK.c) $(OBJS) -o $@ $(LDLIBS)
89	$(POST_PROCESS)
90
91$(ROOTPROG):=	FILEMODE = 04555
92
93ASPPP2PPPD=	$(ROOTUSRSBIN)/asppp2pppd
94$(ASPPP2PPPD):=	FILEMODE = 0550
95
96install:	$(PROG) .WAIT $(SUBDIRS) $(ROOTPROG) $(ETCPPPDIR) $(ASPPP2PPPD)
97
98$(ETCPPPDIR)/%:	%
99	$(INS.file)
100
101$(ETCPPPDIR):
102	$(INS.dir)
103
104$(SUBDIRS):	FRC
105	@cd $@; pwd; $(MAKE) $(TARGET)
106
107FRC:
108
109clean:		$(SUBDIRS)
110	$(RM) $(OBJS) $(EXOBJS)
111
112clobber:	$(SUBDIRS)
113
114include		../../../Makefile.targ
115