# If you're running QNX, we can't assume a working autoconf.
# So just uncomment all the lines marked QNX.
-VERS=1.3
+VERS=3.1
+PL=0
# Ultrix 2.2 make doesn't expand the value of VPATH.
srcdir = @srcdir@
VPATH = @srcdir@
CC = @CC@
+# CC = cc # QNX
CFLAGS = @CFLAGS@
# CFLAGS = -g2 -5 # QNX
LEX = @LEX@
LEXFLAGS=
YACC = @YACC@
+# YACC = yacc
YACCFLAGS = -dt
# How to invoke ranlib. This is only used by the `glob' subdirectory.
# NeXT 1.0a uses an old version of GCC, which required -D__inline=inline.
# See also `config.h'.
-defines = -DRELEASE_ID=\"$(VERS)\" @DEFS@
-# defines = -DHAVE_CONFIG_H -DQNX -DHAVE_UNISTD_H -DSTDC_HEADERS # QNX
+DEFS = @DEFS@
+# DEFS = -DQNX -DHAVE_CONFIG_H -DHAVE_UNISTD_H -DHAVE_STDARG_H -DSTDC_HEADERS # QNX
+defines = -DRELEASE_ID=\"$(VERS)\" -DPATCHLEVEL=\"$(PL)\" $(DEFS)
# If your system needs extra libraries loaded in, define them here.
LOADLIBS = @LIBS@ @LEXLIB@
# Extra sources/objects for library functions not provided on the host system.
EXTRASRC = @EXTRASRC@
+# EXTRASRC = $(srcdir)/strcasecmp.c $(srcdir)/getopt.c $(srcdir)/getopt1.c $(srcdir)/alloca.c # QNX
EXTRAOBJ = @EXTRAOBJ@
+# EXTRAOBJS = strcasecmp.o getopt.o getopt1.o alloca.o
# Common prefix for machine-independent installed files.
-prefix = /usr/local
+prefix = @prefix@
# Common prefix for machine-dependent installed files.
-exec_prefix = $(prefix)
+exec_prefix = @exec_prefix@
# Name under which to install fetchmail
instname = fetchmail
# Directory in which to install.
-bindir = $(exec_prefix)/bin
+bindir = @bindir@
# Directory to install the Info files in.
-infodir = $(prefix)/info
+infodir = @infodir@
# Number to put on the man page filename.
manext = 1
# Directory to install the man page in.
-mandir = $(prefix)/man/man$(manext)
+mandir = @mandir@/man$(manext)
# Program to install `make'.
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -s
# Program to install the man page.
INSTALL_DATA = @INSTALL_DATA@
# Generic install program.
ETAGS = etags -tw
CTAGS = ctags -tw
-popobjs = socket.o getpass.o pop2.o pop3.o imap.o fetchmail.o options.o \
- rcfile_l.o rcfile_y.o rcfile.o daemon.o driver.o smtp.o xmalloc.o \
- md5c.o md5ify.o
+protobjs = socket.o getpass.o pop2.o pop3.o imap.o fetchmail.o options.o \
+ rcfile_l.o rcfile_y.o daemon.o smtp.o driver.o rfc822.o xmalloc.o \
+ uid.o mxget.o md5c.o md5ify.o interface.o netrc.o error.o
-objs = $(popobjs) $(extras)
+objs = $(protobjs) $(extras) $(EXTRAOBJ)
srcs = $(srcdir)/socket.c $(srcdir)/getpass.c $(srcdir)/pop2.c \
$(srcdir)/pop3.c $(srcdir)/imap.c $(srcdir)/fetchmail.c \
- $(srcdir)/options.c $(srcdir)/rcfile.c $(srcdir)/daemon.c \
- $(srcdir)/driver.c $(srcdir)/smtp.c $(srcdir)/xmalloc.c \
- $(srcdir)/md5c.c $(srcdir)/md5ify.c
+ $(srcdir)/options.c $(srcdir)/daemon.c $(srcdir)/driver.c \
+ $(srcdir)/rfc822.c $(srcdir)/smtp.c $(srcdir)/xmalloc.c \
+ $(srcdir)/uid.c $(srcdir)/mxget.c $(srcdir)/md5c.c \
+ $(srcdir)/md5ify.c $(srcdir)/interface.c $(srcdir)/netrc.c \
+ $(srcdir)/error.c
.SUFFIXES:
.SUFFIXES: .o .c .h .y .l .ps .dvi .info .texi
-all: fetchmail
-check: # No tests.
-depend:
- test -f config.h || touch config.h
- test -f rcfile_y.h || touch rcfile_y.h
- makedepend -fMakefile.in *.c
+all: fetchmail fetchmail.spec
-# Some makes apparently use .PHONY as the default goal is it is before `all'.
+# Some makes apparently use .PHONY as the default goal if it is before `all'.
.PHONY: all check
-$(popobjs): fetchmail.h
+$(protobjs): fetchmail.h
fetchmail: $(srcdir)/rcfile_l.c $(srcdir)/rcfile_y.c $(objs)
$(CC) $(LDFLAGS) $(objs) $(LOADLIBS) -o fetchmail
$(CTAGS) $(tagsrcs)
.PHONY: install installdirs
-install: installdirs \
- $(bindir)/$(instname) $(mandir)/$(instname).$(manext) # $(infodir)/fetchmail.info
+install: installdirs $(bindir)/$(instname) $(mandir)/$(instname).$(manext)
installdirs:
- $(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(mandir) # $(infodir)
+ $(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(mandir)
$(bindir)/$(instname): fetchmail
$(INSTALL_PROGRAM) fetchmail $@
-$(infodir)/fetchmail.info: fetchmail.info
- if [ -r ./fetchmail.info ]; then dir=.; else dir=$(srcdir); fi; \
- for file in $${dir}/fetchmail.info*; do \
- name="`basename $$file`"; \
- $(INSTALL_DATA) $$file \
- `echo $@ | sed "s,fetchmail.info\$$,$$name,"`; \
- done
-# Run install-info only if it exists.
-# Use `if' instead of just prepending `-' to the
-# line so we notice real errors from install-info.
-# We use `$(SHELL) -c' because some shells do not
-# fail gracefully when there is an unknown command.
- if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
- install-info --infodir=$(infodir) $$dir/fetchmail.info; \
- else true; fi
-
$(mandir)/$(instname).$(manext): fetchmail.man
$(INSTALL_DATA) $(srcdir)/fetchmail.man $@
+fetchmail.spec: $(srcdir)/Makefile.in $(srcdir)/specgen.sh
+ $(srcdir)/specgen.sh $(VERS) $(PL) >fetchmail.spec
.PHONY: clean realclean distclean mostlyclean
clean:
-rm -f fetchmail *.o core fetchmail.dvi \
- rcfile_l.c rcfile_y.h rcfile_y.c fetchmail.tar fetchmail.tar.gz
+ rcfile_l.c rcfile_y.h rcfile_y.c \
+ fetchmail.tar fetchmail.tar.gz \
+ rfc822
distclean: clean
-rm -f Makefile config.h
-rm -f config.cache config.status config.log stamp-config
-rm -f TAGS tags
- -rm -f fetchmail.log fetchmail.toc fetchmail.*aux
+ -rm -f fetchmail.log fetchmail.toc fetchmail.*aux fetchmail.spec
realclean: distclean # fetchmail.info*
Makefile: config.status $(srcdir)/Makefile.in
$(SHELL) config.status
+ @echo "You can ignore any makedepend error messages"
+ -makedepend -I. -fMakefile *.c
config.h: stamp-config
configure: configure.in
autoconf $(ACFLAGS)
+config.h.in: acconfig.h
+ autoheader $(ACFLAGS)
+
# This tells versions [3.59,3.63) of GNU make not to export all variables.
.NOEXPORT:
# Special dependencies, not easily handled without explicit rules
$(srcdir)/rcfile_l.c: $(srcdir)/rcfile_l.l
$(srcdir)/rcfile_y.c: $(srcdir)/rcfile_y.y
- echo "expect \"conflicts: 5 shift/reduce\""
- $(YACC) $(YACCFLAGS) $<
- mv y.tab.c $@
- mv -f y.tab.h $*.h
parser = $(srcdir)/rcfile_l.l $(srcdir)/rcfile_y.y
-headers = $(srcdir)/fetchmail.h $(srcdir)/socket.h $(srcdir)/smtp.h
+headers = $(srcdir)/fetchmail.h $(srcdir)/socket.h $(srcdir)/smtp.h \
+ $(srcdir)/mx.h $(srcdir)/md5.h $(srcdir)/md5global.h \
+ $(srcdir)/netrc.h $(srcdir)/tunable.h
extra = $(srcdir)/alloca.c $(srcdir)/getopt.[ch] $(srcdir)/getopt1.c \
- $(srcdir)/md5*.[ch] $(srcdir)/strcasecmp.c $(srcdir)/strdup.c
+ $(srcdir)/strcasecmp.c
docs = $(srcdir)/COPYING $(srcdir)/README $(srcdir)/INSTALL $(srcdir)/NEWS \
- $(srcdir)/fetchmail.lsm $(srcdir)/RFC/*.txt \
- $(srcdir)/*.man $(srcdir)/sample.rcfile
+ $(srcdir)/NOTES $(srcdir)/fetchmail.lsm \
+ $(srcdir)/*.man $(srcdir)/sample.rcfile $(srcdir)/FAQ
config = $(srcdir)/Makefile.in $(srcdir)/configure.in $(srcdir)/configure \
- $(srcdir)/config.guess $(srcdir)/config.h.in $(srcdir)/config.sub
-scripts = $(srcdir)/install.sh $(srcdir)/mkinstalldirs
+ $(srcdir)/config.guess $(srcdir)/config.h.in $(srcdir)/config.sub \
+ $(srcdir)/acconfig.h
+scripts = $(srcdir)/install.sh $(srcdir)/mkinstalldirs $(srcdir)/specgen.sh
all = $(docs) $(config) $(srcs) $(parser) $(headers) $(extra) $(scripts) \
$(srcdir)/MANIFEST
MANIFEST: $(srcdir)
@echo $(all) | tr "[ \t]" '\n' | sort | sed "s/\\./fetchmail-$(VERS)/" >MANIFEST
+dist: fetchmail-$(VERS).tar.gz
+ ls -l fetchmail-$(VERS).tar.gz
+
fetchmail-$(VERS).tar: $(all)
(cd ..; tar -cf fetchmail-$(VERS).tar `cat fetchmail-$(VERS)/MANIFEST`)
mv ../fetchmail-$(VERS).tar fetchmail-$(VERS).tar
fetchmail-$(VERS).tar.gz: fetchmail-$(VERS).tar
gzip -f fetchmail-$(VERS).tar
+# Tester for address parsing
+rfc822: rfc822.c
+ gcc -DTESTMAIN -g rfc822.c -o rfc822
+
# The automatically generated dependencies below may omit config.h
# because it is included with ``#include <config.h>'' rather than
# ``#include "config.h"''. So we add the explicit dependency to make sure.
$(objs): config.h
-# Automatically generated dependencies will be put at the end of the file.
+# Automatically generated dependencies will be put at the end of the makefile.
+# DO NOT DELETE THIS LINE -- make depend depends on it.