Makefile revision 8823:000507e9108d
1193323Sed#
2193323Sed# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
3193323Sed# Use is subject to license terms.
4193323Sed#
5193323Sed
6193323SedPROG=		in.ftpd ftpcount ftpshut ftprestart privatepw
7193323SedSCRIPTS=	ftpaddhost ftpconfig
8193323SedMANIFEST=	ftp.xml
9193323SedSVCMETHOD=	svc-ftp
10193323Sed
11193323Sedinclude		../../../Makefile.cmd
12193323Sed
13193323SedCOMMON_OBJS=	COPYRIGHT.o vers.o
14193323SedFTPD_OBJS=	$(COMMON_OBJS) ftpd.o ftpcmd.o glob.o logwtmp.o popen.o \
15193323Sed		access.o extensions.o realpath.o acl.o private.o \
16193323Sed		authenticate.o conversions.o rdservers.o paths.o hostacc.o \
17193323Sed		routevector.o restrict.o domain.o wu_fnmatch.o timeout.o \
18193323Sed		getpwnam.o strsep.o strcasestr.o inet.o xferlog.o gssutil.o \
19193323Sed		privs.o
20193323SedFTPCOUNT_OBJS=	$(COMMON_OBJS) ftpcount.o rdservers.o inet.o
21193323SedFTPSHUT_OBJS=	$(COMMON_OBJS) ftpshut.o rdservers.o inet.o
22193323SedFTPREST_OBJS=	$(COMMON_OBJS) ftprestart.o rdservers.o inet.o
23193323SedCKCONFIG_OBJS=	$(COMMON_OBJS) ckconfig.o rdservers.o inet.o
24193323SedPRIVATE_OBJS=	$(COMMON_OBJS) privatepw.o
25193323SedOBJS=		$(FTPD_OBJS) ftpcount.o ftpshut.o ftprestart.o ckconfig.o \
26193323Sed		privatepw.o
27193323SedSRCS=		$(OBJS:%.o=%.c)
28193323SedCONFIGFILES=	ftpaccess ftpconversions ftpgroups ftphosts ftpservers ftpusers
29193323SedETCFTPDDIR=	$(ROOTETC)/ftpd
30193323SedETCFTPDFILES=	$(CONFIGFILES:%=$(ETCFTPDDIR)/%)
31193323Sed$(ETCFTPDFILES):=	FILEMODE= 0644
32201360Srdivacky$(ETCFTPDFILES):=	GROUP= sys
33193323SedROOTUSRSBINSCRIPTS=	$(SCRIPTS:%=$(ROOTUSRSBIN)/%)
34193323SedROOTFTPCOUNT=	$(ROOTUSRSBIN)/ftpcount
35193323SedROOTFTPWHO=	$(ROOTUSRSBIN)/ftpwho
36193323Sed
37193323SedROOTMANIFESTDIR=	$(ROOTSVCNETWORK)
38193323Sed
39212904Sdim# I18n
40243830SdimPOFILE=		in.ftpd_all.po
41243830SdimPOFILES=	$(SCRIPTS:%=%.po)
42243830Sdim
43243830Sdim# When building for Solaris 8 add to CPPFLAGS:
44210299Sed# -Ddn_skipname=__dn_skipname -DSOLARIS_NO_AUDIT_FTPD_LOGOUT
45193323SedCLOBBERFILES +=	ckconfig ftpwho $(SCRIPTS)
46218893SdimCPPFLAGS +=	-DBSD_COMP -D_FILE_OFFSET_BITS=64 -DINET6 -DSOLARIS_BSM_AUDIT \
47193323Sed		-DSOLARIS_ETC_FTPUSERS -DSENDFILE -DCLOSEFROM -DUSE_GSS \
48193323Sed		-DSOLARIS_GSS_USEROK -DSOLARIS_PRIVS
49239462SdimLDLIBS +=	-lsocket -lnsl -lpam -lbsm -lsendfile -lgss
50193323SedYFLAGS +=	-d
51193323Sed
52193323Sedin.ftpd :=	LDFLAGS += $(MAPFILE.NGB:%=-M%)
53193323Sed
54193323Sed# tcov output relies on atexit(3C) registered functions being called, so stop
55193323Sed# _exit() from being used. Passing -l to yacc stops it generating #line
56239462Sdim# directives which don't work with tcov.
57193323Sedtcov :=		CFLAGS += -xa
58193323Sedtcov :=		CPPFLAGS += -D_exit=exit
59193323Sedtcov :=		YFLAGS += -l
60226633Sdim
61226633Sdim.KEEP_STATE:
62226633Sdim
63198090Srdivackyall tcov:	$(PROG) ckconfig ftpwho $(CONFIGFILES) $(SCRIPTS)
64198090Srdivacky
65198090Srdivackyin.ftpd:	$(FTPD_OBJS) $(MAPFILE.NGB)
66198090Srdivacky		$(LINK.c) $(FTPD_OBJS) -o $@ $(LDLIBS)
67193323Sed		$(POST_PROCESS)
68193323Sed
69193323Sedftpcount:	$(FTPCOUNT_OBJS)
70193323Sed		$(LINK.c) $(FTPCOUNT_OBJS) -o $@ -lsocket -lnsl
71193323Sed		$(POST_PROCESS)
72193323Sed
73193323Sedftpwho:		ftpcount
74198396Srdivacky		$(RM) $@
75243830Sdim		$(LN) ftpcount $@
76193323Sed
77193323Sedftpshut:	$(FTPSHUT_OBJS)
78193323Sed		$(LINK.c) $(FTPSHUT_OBJS) -o $@ -lsocket -lnsl
79194612Sed		$(POST_PROCESS)
80243830Sdim
81208599Srdivackyftprestart:	$(FTPREST_OBJS)
82194612Sed		$(LINK.c) $(FTPREST_OBJS) -o $@ -lsocket -lnsl
83200581Srdivacky		$(POST_PROCESS)
84218893Sdim
85243830Sdimckconfig:	$(CKCONFIG_OBJS)
86193323Sed		$(LINK.c) $(CKCONFIG_OBJS) -o $@ -lsocket -lnsl
87193323Sed		$(POST_PROCESS)
88193323Sed
89193323Sedprivatepw:	$(PRIVATE_OBJS)
90193323Sed		$(LINK.c) $(PRIVATE_OBJS) -o $@
91193323Sed		$(POST_PROCESS)
92193323Sed
93193323Sed# This causes y.tab.c to be renamed to ftpcmd.c, needed by tcov.
94193323Sedftpcmd.c:	ftpcmd.y
95193323Sed
96193323Sed$(ETCFTPDDIR)/%: %
97193323Sed		$(INS.file)
98193323Sed
99223017Sdim$(POFILE):	$(POFILES)
100226633Sdim		$(RM) $@
101193323Sed		cat $(POFILES) >$@
102203954Srdivacky
103193323Sed$(ROOTFTPWHO):	$(ROOTFTPCOUNT)
104193323Sed		$(RM) $@
105193323Sed		$(LN) $(ROOTFTPCOUNT) $@
106193323Sed
107193323Sedinstall:	all $(ROOTUSRSBINPROG) $(ROOTFTPWHO) $(ROOTUSRSBINSCRIPTS) \
108193574Sed		$(ETCFTPDFILES) $(ROOTMANIFEST) $(ROOTSVCMETHOD)
109193574Sed
110198090Srdivackycheck:		$(CHKMANIFEST)
111224145Sdim
112234353Sdimclean:
113243830Sdim		$(RM) $(OBJS) *.d *.tcov y.tab.h y.tab.c ftpcmd.c
114193323Sed
115193323Sedlint:		lint_SRCS
116193323Sed
117193323Sedinclude		../../../Makefile.targ
118193323Sed