null
Makefile revision 7c478bd95313f5f23a4c958a745db2134aa03244
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#
# ident "%Z%%M% %I% %E% SMI"
#
# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
include ../../../Makefile.cmd
PROG= in.ftpd ftpcount ftpshut ftprestart privatepw
MANIFEST= ftp.xml
SCRIPTS= ftpaddhost ftpconfig
COMMON_OBJS= COPYRIGHT.o vers.o
FTPD_OBJS= $(COMMON_OBJS) ftpd.o ftpcmd.o glob.o logwtmp.o popen.o \
access.o extensions.o realpath.o acl.o private.o \
authenticate.o conversions.o rdservers.o paths.o hostacc.o \
routevector.o restrict.o domain.o wu_fnmatch.o timeout.o \
getpwnam.o strsep.o strcasestr.o inet.o xferlog.o gssutil.o \
privs.o
FTPCOUNT_OBJS= $(COMMON_OBJS) ftpcount.o rdservers.o inet.o
FTPSHUT_OBJS= $(COMMON_OBJS) ftpshut.o rdservers.o inet.o
FTPREST_OBJS= $(COMMON_OBJS) ftprestart.o rdservers.o inet.o
CKCONFIG_OBJS= $(COMMON_OBJS) ckconfig.o rdservers.o inet.o
PRIVATE_OBJS= $(COMMON_OBJS) privatepw.o
OBJS= $(FTPD_OBJS) ftpcount.o ftpshut.o ftprestart.o ckconfig.o \
privatepw.o
SRCS= $(OBJS:%.o=%.c)
CONFIGFILES= ftpaccess ftpconversions ftpgroups ftphosts ftpservers ftpusers
ETCFTPDDIR= $(ROOTETC)/ftpd
ETCFTPDFILES= $(CONFIGFILES:%=$(ETCFTPDDIR)/%)
$(ETCFTPDFILES):= FILEMODE= 0644
$(ETCFTPDFILES):= GROUP= sys
ROOTUSRSBINSCRIPTS= $(SCRIPTS:%=$(ROOTUSRSBIN)/%)
ROOTFTPCOUNT= $(ROOTUSRSBIN)/ftpcount
ROOTFTPWHO= $(ROOTUSRSBIN)/ftpwho
ROOTMANIFESTDIR= $(ROOTSVCNETWORK)
$(ROOTMANIFEST) := FILEMODE= 444
# I18n
POFILE= in.ftpd_all.po
POFILES= $(SCRIPTS:%=%.po)
# When building for Solaris 8 add to CPPFLAGS:
# -Ddn_skipname=__dn_skipname -DSOLARIS_NO_AUDIT_FTPD_LOGOUT
CLOBBERFILES += ckconfig ftpwho $(SCRIPTS)
CPPFLAGS += -DBSD_COMP -D_FILE_OFFSET_BITS=64 -DINET6 -DSOLARIS_BSM_AUDIT \
-DSOLARIS_ETC_FTPUSERS -DSENDFILE -DCLOSEFROM -DUSE_GSS \
-DSOLARIS_GSS_USEROK -DSOLARIS_PRIVS
LDLIBS += -lsocket -lnsl -lpam -lbsm -lsendfile -lgss
YFLAGS += -d
# tcov output relies on atexit(3C) registered functions being called, so stop
# _exit() from being used. Passing -l to yacc stops it generating #line
# directives which don't work with tcov.
tcov := CFLAGS += -xa
tcov := CPPFLAGS += -D_exit=exit
tcov := YFLAGS += -l
.KEEP_STATE:
all tcov: $(PROG) ckconfig ftpwho $(CONFIGFILES) $(SCRIPTS)
in.ftpd: $(FTPD_OBJS)
$(LINK.c) $(FTPD_OBJS) -o $@ $(LDLIBS)
$(POST_PROCESS)
ftpcount: $(FTPCOUNT_OBJS)
$(LINK.c) $(FTPCOUNT_OBJS) -o $@ -lsocket -lnsl
$(POST_PROCESS)
ftpwho: ftpcount
$(RM) $@
$(LN) ftpcount $@
ftpshut: $(FTPSHUT_OBJS)
$(LINK.c) $(FTPSHUT_OBJS) -o $@ -lsocket -lnsl
$(POST_PROCESS)
ftprestart: $(FTPREST_OBJS)
$(LINK.c) $(FTPREST_OBJS) -o $@ -lsocket -lnsl
$(POST_PROCESS)
ckconfig: $(CKCONFIG_OBJS)
$(LINK.c) $(CKCONFIG_OBJS) -o $@ -lsocket -lnsl
$(POST_PROCESS)
privatepw: $(PRIVATE_OBJS)
$(LINK.c) $(PRIVATE_OBJS) -o $@
$(POST_PROCESS)
# This causes y.tab.c to be renamed to ftpcmd.c, needed by tcov.
ftpcmd.c: ftpcmd.y
$(ETCFTPDDIR)/%: %
$(INS.file)
$(POFILE): $(POFILES)
$(RM) $@
cat $(POFILES) >$@
$(ROOTFTPWHO): $(ROOTFTPCOUNT)
$(RM) $@
$(LN) $(ROOTFTPCOUNT) $@
install: all $(ROOTUSRSBINPROG) $(ROOTFTPWHO) $(ROOTUSRSBINSCRIPTS) \
$(ETCFTPDFILES) $(ROOTMANIFEST)
check: $(CHKMANIFEST)
clean:
$(RM) $(OBJS) *.d *.tcov y.tab.h y.tab.c ftpcmd.c
lint: lint_SRCS
include ../../../Makefile.targ