1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9# or http://www.opensolaris.org/os/licensing.
10# See the License for the specific language governing permissions
11# and limitations under the License.
12#
13# When distributing Covered Code, include this CDDL HEADER in each
14# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15# If applicable, add the following below this CDDL HEADER, with the
16# fields enclosed by brackets "[]" replaced with your own identifying
17# information: Portions Copyright [yyyy] [name of copyright owner]
18#
19# CDDL HEADER END
20#
21#
22# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
23# Use is subject to license terms.
24#
25
26MINCONN =	minconn.so
27PASSPROMPT = 	passprompt.so
28PPPOE =		pppoe.so
29
30LIBRARIES =	minconn.so passprompt.so pppoe.so
31OBJECTS =	minconn.o passprompt.o pppoe.o
32
33# The rest of the sources are GPL
34LINTSRCS =	pppoe.c
35
36include		$(SRC)/lib/Makefile.lib
37include		../Makefile.def
38
39# Express objects in terms of "pics" thus triggering the appropriate CPPFLAGS,
40# CFLAGS and DYNFLAGS settings from lib/Makefile.lib to build shared objects.
41$(MINCONN):=	PICS = pics/minconn.o
42$(PASSPROMPT):=	PICS = pics/passprompt.o
43$(PPPOE):=	PICS = pics/pppoe.o
44
45# Suppress -h setting from DYNFLAGS as these libraries aren't linked against.
46# Establish external references through mapfiles and dependencies to allow
47# use of -zdefs.
48HSONAME=
49$(MINCONN):=	MAPFILES = mapfile-minconn
50$(PASSPROMPT):=	MAPFILES = mapfile-passprompt
51$(PPPOE):=	MAPFILES = mapfile-pppoe
52
53# A bug in pmake causes redundancy when '+=' is conditionally assigned, so
54# '=' is used with extra variables.
55XXXLDLIBS =
56$(PASSPROMPT):=	XXXLDLIBS = -lc
57LDLIBS +=	$(XXXLDLIBS)
58
59CPPFLAGS +=	-I.. -I$(SRC)/uts/common
60# XX64 -- this should not be needed -- fix me
61DYNFLAGS +=	-_gcc=-nostdlib
62
63CLOBBERFILES +=	$(LIBRARIES)
64
65LIBPPPPLUGIN=	$(LIBRARIES:%=$(LIBPPPPLUGINDIR)/%)
66
67$(LIBPPPPLUGIN):=	FILEMODE = 0544
68
69$(LIBPPPPLUGINDIR):=	FILEMODE = 0755
70
71# This is needed because install doesn't handle -g well.
72UTILDIR=	$(ROOT)/usr/share/src/ppputil
73ROOTSRC=	$(UTILDIR)/plugins
74SRCFILES=	Makefile minconn.c passprompt.c pppd.h
75ROOTSRCFILES=	$(SRCFILES:%=$(ROOTSRC)/%)
76$(ROOTSRCFILES):=	FILEMODE= 0444
77
78.KEEP_STATE:
79
80all:	$(LIBRARIES)
81
82$(MINCONN): pics .WAIT $$(PICS)
83	$(BUILD.SO)
84	$(POST_PROCESS_SO)
85
86$(PASSPROMPT): pics .WAIT $$(PICS)
87	$(BUILD.SO)
88	$(POST_PROCESS_SO)
89
90$(PPPOE): pics .WAIT $$(PICS)
91	$(BUILD.SO)
92	$(POST_PROCESS_SO)
93
94install: all $(LIBPPPPLUGINDIR) $(LIBPPPPLUGIN) install_src
95
96$(LIBPPPPLUGINDIR):
97	$(INS.dir)
98
99$(LIBPPPPLUGINDIR)/%:	%
100	$(INS.file)
101
102$(UTILDIR) $(ROOTSRC):
103	$(INS.dir)
104
105$(ROOTSRC)/Makefile%: Makefile%.dist
106	$(INS.rename)
107
108$(ROOTSRC)/%.h: ../%.h
109	$(INS.file)
110
111$(ROOTSRC)/%: %
112	$(INS.file)
113
114install_src:	$(UTILDIR) .WAIT $(ROOTSRC) .WAIT $(ROOTSRCFILES)
115
116lint:
117	$(LINT.c) $(LINTSRCS) $(LDLIBS)
118
119include $(SRC)/lib/Makefile.targ
120