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