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