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 9 include ../../../Makefile.cmd 10 include Makefile.def 11 12 PROG= pppd 13 SUBDIRS= plugins 14 OBJS= 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 20 all:= TARGET= all 21 install:= TARGET= install 22 clean:= TARGET= clean 23 clobber:= TARGET= clobber 24 lint:= TARGET= lint 25 26 LDLIBS += -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 # 32 LDFLAGS += -R$(ETCPPPPLUGINDIR_ABS) -R$(LIBPPPPLUGINDIR_ABS) 33 34 CPPFLAGS += -DPLUGIN -DSVR4 -DSOL2 -DINET6 35 CPPFLAGS += -D_PATH_VARRUN='"/var/run/"' 36 CPPFLAGS += -DNEGOTIATE_FCS -DCBCP_SUPPORT -DALLOW_PAM -DHAS_SHADOW 37 CPPFLAGS += -DHAVE_MMAP -DCOMP_TUNE -DMUX_FRAME 38 $(NOT_RELEASE_BUILD)CPPFLAGS += -DDEBUG 39 40 .KEEP_STATE: 41 42 .PARALLEL: $(SUBDIRS) 43 44 all: $(PROG) $(SUBDIRS) 45 46 # MS-CHAP support 47 CPPFLAGS += -DHAVE_CRYPT_H -DUSE_CRYPT -DHAVE_LIBMD 48 CPPFLAGS += -DCHAPMS -DMSLANMAN 49 CPPFLAGS += -DCHAPMSV2 50 OBJS += chap_ms.o 51 EXOBJS += mschap_test.o 52 CLOBBERFILES += mschap_test 53 54 CERRWARN += $(CNOWARN_UNINIT) 55 56 # main() is too hairy for smatch 57 SMATCH=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. 62 mschap_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 LINTFLAGS += -erroff=E_NAME_DEF_NOT_USED2 86 87 SRCS= $(OBJS:%.o=%.c) 88 89 .PARALLEL: $(OBJS) 90 91 $(PROG): $(OBJS) 92 $(LINK.c) $(OBJS) -o $@ $(LDLIBS) 93 $(POST_PROCESS) 94 95 $(ROOTPROG):= FILEMODE = 04555 96 97 ASPPP2PPPD= $(ROOTUSRSBIN)/asppp2pppd 98 $(ASPPP2PPPD):= FILEMODE = 0550 99 100 install: $(PROG) .WAIT $(SUBDIRS) $(ROOTPROG) $(ETCPPPDIR) $(ASPPP2PPPD) 101 102 $(ETCPPPDIR)/%: % 103 $(INS.file) 104 105 $(ETCPPPDIR): 106 $(INS.dir) 107 108 $(SUBDIRS): FRC 109 @cd $@; pwd; $(MAKE) $(TARGET) 110 111 FRC: 112 113 LINTOBJS=$(OBJS:%.o=%.ln) 114 CLOBBERFILES += $(LINTOBJS) 115 116 clean: $(SUBDIRS) 117 $(RM) $(OBJS) $(EXOBJS) 118 119 sha1.ln:= LINTFLAGS += -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED 120 121 # Not using the default lint target here so that we can disable 122 # warnings per module as needed. 123 lint: $(SUBDIRS) $(LINTOBJS) 124 $(LINT.c) $(LINTOBJS) $(LDLIBS) 125 126 clobber: $(SUBDIRS) 127 128 include ../../../Makefile.targ