1# Makefile for systems with GNU tools
2CC 	=       gcc
3INSTALL	=       install
4IFLAGS  = -idirafter dummyinc
5#CFLAGS = -g
6CFLAGS	=	-O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 \
7	-Wall -W -Wshadow -Werror -Wformat-security \
8	-D_FORTIFY_SOURCE=2 \
9	#-pedantic -Wconversion
10
11LIBS	=       -lcap -ldl -lcrypt    -lpam    -lwrap -lnsl    -lssl -lcrypto
12#                                     |        |               + VSF_BUILD_SSL
13#                                     |        + VSF_BUILD_TCPWRAPPERS
14#                                     + VSF_BUILD_PAM
15LINK	=       -Wl,-s
16LDFLAGS	=	-fPIE -pie -Wl,-z,relro -Wl,-z,now
17
18OBJS	=	$(patsubst %.c,%.o,$(wildcard *.c))
19#OBJS	=       main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o \
20#                tunables.o ftpdataio.o secbuf.o ls.o \
21#                postprivparent.o logging.o str.o netstr.o sysstr.o strlist.o \
22#    banner.o filestr.o parseconf.o secutil.o \
23#    ascii.o oneprocess.o twoprocess.o privops.o standalone.o hash.o \
24#    tcpwrap.o ipaddrparse.o access.o features.o readwrite.o opts.o \
25#    ssl.o sslslave.o ptracesandbox.o ftppolicy.o sysutil.o sysdeputil.o \
26#    seccompsandbox.o \
27#    charconv.o pasvrules.o usersip.o http.o http_msg.o http_str.o
28
29
30.c.o:
31	$(CC) -c $*.c $(CFLAGS) $(IFLAGS)
32
33vsftpd: $(OBJS)
34	$(CC) -o vsftpd $(LDFLAGS) $(OBJS) $(LINK) $(LIBS)
35
36install:
37	if [ -x /usr/local/sbin ]; then \
38		$(INSTALL) -m 755 vsftpd /usr/local/sbin/vsftpd; \
39	else \
40		$(INSTALL) -m 755 vsftpd /usr/sbin/vsftpd; fi
41	if [ -x /usr/local/man ]; then \
42		$(INSTALL) -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; \
43		$(INSTALL) -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; \
44	elif [ -x /usr/share/man ]; then \
45		$(INSTALL) -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; \
46		$(INSTALL) -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; \
47	else \
48		$(INSTALL) -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; \
49		$(INSTALL) -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi
50	if [ -x /etc/xinetd.d ]; then \
51		$(INSTALL) -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi
52
53clean:
54	rm -f *.o *.swp vsftpd
55
56