Makefile revision 23a1ccea6aac035f084a7a4cdc968687d1b02daf
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington#
80383d03604b92a452564592e84c2bf831077a41Automatic Updater# Copyright (c) 1990, 2010, Oracle and/or its affiliates. All rights reserved.
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark Andrews#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic UpdaterPROG= in.ftpd ftpcount ftpshut ftprestart privatepw
0b062f4990db5cc6db2fe3398926f71b92a67407Brian WellingtonSCRIPTS= ftpaddhost ftpconfig
0b062f4990db5cc6db2fe3398926f71b92a67407Brian WellingtonMANIFEST= ftp.xml
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinSVCMETHOD= svc-ftp
9016767f4e15191b7c763b8a4ad36a57dc2705a2Mark Andrews
9016767f4e15191b7c763b8a4ad36a57dc2705a2Mark Andrewsinclude ../../../Makefile.cmd
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
9016767f4e15191b7c763b8a4ad36a57dc2705a2Mark AndrewsCOMMON_OBJS= COPYRIGHT.o vers.o
9016767f4e15191b7c763b8a4ad36a57dc2705a2Mark AndrewsFTPD_OBJS= $(COMMON_OBJS) ftpd.o ftpcmd.o glob.o logwtmp.o popen.o \
9016767f4e15191b7c763b8a4ad36a57dc2705a2Mark Andrews access.o extensions.o realpath.o acl.o private.o \
9016767f4e15191b7c763b8a4ad36a57dc2705a2Mark Andrews authenticate.o conversions.o rdservers.o paths.o hostacc.o \
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington routevector.o restrict.o domain.o wu_fnmatch.o timeout.o \
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater getpwnam.o inet.o xferlog.o gssutil.o privs.o
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinFTPCOUNT_OBJS= $(COMMON_OBJS) ftpcount.o rdservers.o inet.o
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinFTPSHUT_OBJS= $(COMMON_OBJS) ftpshut.o rdservers.o inet.o
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinFTPREST_OBJS= $(COMMON_OBJS) ftprestart.o rdservers.o inet.o
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCKCONFIG_OBJS= $(COMMON_OBJS) ckconfig.o rdservers.o inet.o
ca67ebfe9eef0b8f04179f7e511a19e0337a5422Automatic UpdaterPRIVATE_OBJS= $(COMMON_OBJS) privatepw.o
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinOBJS= $(FTPD_OBJS) ftpcount.o ftpshut.o ftprestart.o ckconfig.o \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein privatepw.o
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsSRCS= $(OBJS:%.o=%.c)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONFIGFILES= ftpaccess ftpconversions ftpgroups ftphosts ftpservers ftpusers
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinETCFTPDDIR= $(ROOTETC)/ftpd
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinETCFTPDFILES= $(CONFIGFILES:%=$(ETCFTPDDIR)/%)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(ETCFTPDFILES):= FILEMODE= 0644
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinROOTUSRSBINSCRIPTS= $(SCRIPTS:%=$(ROOTUSRSBIN)/%)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinROOTFTPCOUNT= $(ROOTUSRSBIN)/ftpcount
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic UpdaterROOTFTPWHO= $(ROOTUSRSBIN)/ftpwho
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinROOTMANIFESTDIR= $(ROOTSVCNETWORK)
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# I18n
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinPOFILE= in.ftpd_all.po
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark AndrewsPOFILES= $(SCRIPTS:%=%.po)
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater# When building for Solaris 8 add to CPPFLAGS:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# -Ddn_skipname=__dn_skipname -DSOLARIS_NO_AUDIT_FTPD_LOGOUT
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCLOBBERFILES += ckconfig ftpwho $(SCRIPTS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCPPFLAGS += -DBSD_COMP -D_FILE_OFFSET_BITS=64 -DINET6 -DSOLARIS_BSM_AUDIT \
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater -DSOLARIS_ETC_FTPUSERS -DSENDFILE -DCLOSEFROM -DUSE_GSS \
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein -DSOLARIS_GSS_USEROK -DSOLARIS_PRIVS
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinLDLIBS += -lsocket -lnsl -lpam -lbsm -lsendfile -lgss
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinYFLAGS += -d
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updaterin.ftpd := LDFLAGS += $(MAPFILE.NGB:%=-M%)
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater# tcov output relies on atexit(3C) registered functions being called, so stop
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater# _exit() from being used. Passing -l to yacc stops it generating #line
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater# directives which don't work with tcov.
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updatertcov := CFLAGS += -xa
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updatertcov := CPPFLAGS += -D_exit=exit
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updatertcov := YFLAGS += -l
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater.KEEP_STATE:
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinall tcov: $(PROG) ckconfig ftpwho $(CONFIGFILES) $(SCRIPTS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinin.ftpd: $(FTPD_OBJS) $(MAPFILE.NGB)
731cc132f22dbc9e0ecd7035dce314a61076d31bAutomatic Updater $(LINK.c) $(FTPD_OBJS) -o $@ $(LDLIBS)
731cc132f22dbc9e0ecd7035dce314a61076d31bAutomatic Updater $(POST_PROCESS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinftpcount: $(FTPCOUNT_OBJS)
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater $(LINK.c) $(FTPCOUNT_OBJS) -o $@ -lsocket -lnsl
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater $(POST_PROCESS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinftpwho: ftpcount
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) $@
b272d38cc5d24f64c0647a9afb340c21c4b9aaf7Evan Hunt $(LN) ftpcount $@
b272d38cc5d24f64c0647a9afb340c21c4b9aaf7Evan Hunt
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinftpshut: $(FTPSHUT_OBJS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(LINK.c) $(FTPSHUT_OBJS) -o $@ -lsocket -lnsl
b272d38cc5d24f64c0647a9afb340c21c4b9aaf7Evan Hunt $(POST_PROCESS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinftprestart: $(FTPREST_OBJS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(LINK.c) $(FTPREST_OBJS) -o $@ -lsocket -lnsl
b272d38cc5d24f64c0647a9afb340c21c4b9aaf7Evan Hunt $(POST_PROCESS)
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updaterckconfig: $(CKCONFIG_OBJS)
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater $(LINK.c) $(CKCONFIG_OBJS) -o $@ -lsocket -lnsl
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater $(POST_PROCESS)
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updaterprivatepw: $(PRIVATE_OBJS)
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater $(LINK.c) $(PRIVATE_OBJS) -o $@
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater $(POST_PROCESS)
b272d38cc5d24f64c0647a9afb340c21c4b9aaf7Evan Hunt
b272d38cc5d24f64c0647a9afb340c21c4b9aaf7Evan Hunt# This causes y.tab.c to be renamed to ftpcmd.c, needed by tcov.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinftpcmd.c: ftpcmd.y
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(ETCFTPDDIR)/%: %
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(INS.file)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(POFILE): $(POFILES)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein $(RM) $@
2f8d63983c297c62630044d28a6f66676b4d339dMark Andrews cat $(POFILES) >$@
2f8d63983c297c62630044d28a6f66676b4d339dMark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$(ROOTFTPWHO): $(ROOTFTPCOUNT)
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater $(RM) $@
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater $(LN) $(ROOTFTPCOUNT) $@
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updaterinstall: all $(ROOTUSRSBINPROG) $(ROOTFTPWHO) $(ROOTUSRSBINSCRIPTS) \
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater $(ETCFTPDFILES) $(ROOTMANIFEST) $(ROOTSVCMETHOD)
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updatercheck: $(CHKMANIFEST)
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updaterclean:
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater $(RM) $(OBJS) *.d *.tcov y.tab.h y.tab.c ftpcmd.c
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updaterlint: lint_SRCS
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updaterinclude ../../../Makefile.targ
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater