1CC? = gcc 2LD = ${CC} 3RM = rm -f 4MKDIR = mkdir -p 5INSTALL = install -c 6CFLAGS?= -Wall -O2 -fomit-frame-pointer 7# You may use OpenSSL's MD5 routines instead of the ones supplied here 8#CFLAGS += -DHAVE_OPENSSL 9LDFLAGS = -s 10LIBS = 11# Linux with glibc, FreeBSD, NetBSD 12LIBS += -lcrypt 13# HP-UX trusted system 14#LIBS += -lsec 15# Solaris (POP_STANDALONE, POP_VIRTUAL) 16#LIBS += -lsocket -lnsl 17# PAM 18#LIBS += -lpam 19# TCP wrappers 20#LIBS += -lwrap 21# libwrap may also want this 22#LIBS += -lnsl 23# OpenSSL (-DHAVE_OPENSSL) 24#LIBS += -lcrypto 25 26DESTDIR = 27PREFIX = /usr/local 28SBINDIR = $(PREFIX)/sbin 29MANDIR = $(PREFIX)/man 30 31PROJ = popa3d 32OBJS = \ 33 version.o \ 34 startup.o \ 35 standalone.o \ 36 virtual.o \ 37 auth_passwd.o auth_shadow.o auth_pam.o \ 38 pop_root.o pop_auth.o pop_trans.o \ 39 protocol.o database.o mailbox.o \ 40 misc.o \ 41 md5/md5.o 42 43OBJS += pop_db.o 44CFLAGS += -DPOPB4SMTP -DVALIDTIME=600 45 46all: $(PROJ) 47 48popa3d: $(OBJS) 49 $(LD) $(LDFLAGS) $(OBJS) $(LIBS) -o popa3d 50 51auth_pam.o: params.h 52auth_passwd.o: params.h 53auth_shadow.o: params.h 54database.o: params.h database.h 55mailbox.o: params.h misc.h protocol.h database.h md5/md5.h 56misc.o: params.h 57pop_auth.o: params.h misc.h protocol.h pop_auth.h virtual.h 58pop_root.o: params.h protocol.h pop_auth.h pop_trans.h virtual.h 59pop_trans.o: params.h protocol.h database.h mailbox.h 60protocol.o: params.h misc.h protocol.h 61standalone.o: params.h 62startup.o: params.h 63virtual.o: params.h misc.h 64 65md5/md5.o: md5/md5.c md5/md5.h 66 $(CC) $(CFLAGS) -c md5/md5.c -o md5/md5.o 67 68.c.o: 69 $(CC) $(CFLAGS) -c $*.c 70 71install: $(PROJ) 72 $(MKDIR) -m 755 $(DESTDIR)$(SBINDIR) $(DESTDIR)$(MANDIR)/man8 73 $(INSTALL) -m 700 popa3d $(DESTDIR)$(SBINDIR)/ 74 $(INSTALL) -m 644 popa3d.8 $(DESTDIR)$(MANDIR)/man8/ 75 76remove: 77 $(RM) $(DESTDIR)$(SBINDIR)/popa3d $(DESTDIR)$(MANDIR)/man8/popa3d.8 78 79clean: 80 $(RM) $(PROJ) $(OBJS) 81