# Makefile for smail (not a installation makefile)
# for SAS/C Amiga

CFLAGS  = SMALLCODE SMALLDATA ABSFUNCPOINTER UNSIGNEDCHARS\
DEFINE=HAVE_GETPWENT  DEFINE=AMIGA NOVERSION PARAMS=REGISTER STARTUP=cres #DEBUG=FULL

OBJECTS =	main.o map.o resolve.o deliver.o misc.o alias.o pw.o headers.o getpath.o str.o getopt.o bsmtp.o

all:\
smail       mail\
smail_axsh  mail_axsh\
smail_mufs  mail_mufs\
convert batch_smtp smail.guide

smail: $(OBJECTS) sysdep.o
		$(CC) $(CFLAGS) $(LIBS) $(OBJECTS) sysdep.o PROGNAME=smail  LINK
	   copy $@ bin/

smail_axsh: $(OBJECTS) sysdep_axsh.o
		$(CC) $(CFLAGS) $(LIBS) $(OBJECTS) sysdep_axsh.o PROGNAME=smail_axsh IDIR=axsh/ LIB=axsh/axsh.lib_reg_res LINK
	   copy $@ bin/

smail_mufs: $(OBJECTS) sysdep_mufs.o
		$(CC) $(CFLAGS) $(LIBS) $(OBJECTS) sysdep_mufs.o PROGNAME=smail_mufs LINK
	   copy $@ bin/

mail: mail.c
	$(CC) $(CFLAGS) PROGNAME=$@ $< LINK
   copy $@ bin/

mail_axsh: mail.c
	$(CC) $(CFLAGS) PROGNAME=$@ $< IDIR=axsh/ LIB=axsh/axsh.lib_reg_res LINK DEFINE=AXSH
   copy $@ bin/

mail_mufs: mail.c
	$(CC) $(CFLAGS) PROGNAME=$@ $< LINK DEFINE=MUFS
   copy $@ bin/

convert: convert.c
	$(CC) $(CFLAGS) PROGNAME=$@ $< LINK
	   copy $@ bin/

batch_smtp: batch_smtp.c
	$(CC) $(CFLAGS) DEFINE=NOFROM PROGNAME=$@ $< LINK
	   copy $@ bin/


sysdep_axsh.o: sysdep.c
	$(CC) $(CFLAGS) OBJNAME=$@ $< IDIR=axsh/ DEFINE=AXSH

sysdep_mufs.o: sysdep.c
	$(CC) $(CFLAGS) OBJNAME=$@ $< DEFINE=MUFS

#
# Targets for RCS
#
.c,v.c:
	co $<

.h,v.h:
	co $<

.txt,v.txt:
	co $<


.c.o:
	$(CC) $(CFLAGS) OBJNAME=$@ $<

.txt.guide:
   Text2Guide $< $@

clean:
		-rm *.o *.lnk

realclean:	clean
		-rm -f smail mail convert smail_axsh convert batch_smtp smail.guide

archiv: all
	-delete SMail.lha quiet force
	-delete t:smail all quiet force
	-mkdir t:SMail
	-mkdir t:SMail/Bin
   copy  bin/* t:SMail/Bin clone quiet
   copy  install-smail smail.guide install-smail.info smail.guide.info convert.man demo_maps demo_paths smail.readme t:smail quiet
	lha -xra a SMail.lha t:SMail
	-delete t:smail all quiet force

srcarchiv: all
	-delete SMailsrc.lha quiet force
	-delete t:smail all quiet force
	-mkdir t:SMail
	-mkdir t:SMail/src
	-mkdir t:SMail/src/bin
   copy  RCS t:SMail/src/RCS clone quiet
   copy  (smakefile|protos.h) t:SMail/src clone quiet
   copy  install-smail smail.guide smail.guide.info smailsrc.readme t:smail quiet
	lha -xrae a SMailsrc.lha t:SMail
	-delete t:smail all quiet force

#for normal sites
install: all
	copy batch_smtp uucp:c/batch_smtp
	copy smail uucp:c/sendmail
   copy smail uucp:c/rmail
   copy smail uucp:c/rsmtp
   copy smail uucp:c/rfsmtp
   copy smail uucp:c/rcsmtp
	copy mail  uucp:c/mail

#for AXSh systems
install_axsh: all
	copy batch_smtp uucp:c/batch_smtp
	copy smail_axsh uucp:c/sendmail
   copy smail_axsh uucp:c/rmail
   copy smail_axsh uucp:c/rsmtp
   copy smail_axsh uucp:c/rfsmtp
   copy smail_axsh uucp:c/rcsmtp
	copy mail_axsh  uucp:c/mail

#for MUFS systems
install_mufs: all
	copy batch_smtp uucp:c/batch_smtp
	copy smail_mufs uucp:c/sendmail
   copy smail_mufs uucp:c/rmail
   copy smail_mufs uucp:c/rsmtp
   copy smail_mufs uucp:c/rfsmtp
   copy smail_mufs uucp:c/rcsmtp
	copy mail_mufs  uucp:c/mail

main.o:        main.c defs.h
map.o:         map.c defs.h
resolve.o:     resolve.c defs.h
deliver.o:     deliver.c defs.h
misc.o:        misc.c defs.h
alias.o:       alias.c defs.h
pw.o:          pw.c defs.h
headers.o:     headers.c defs.h
getpath.o:     getpath.c defs.h
str.o:         str.c defs.h
getopt.o:      getopt.c defs.h
sysdep.o:      sysdep.c defs.h
sysdep_axsh.o: sysdep.c defs.h axsh/users.h
bsmtp.o:       bsmtp.c  defs.h
# the docs
smail.guide:   smail.txt

#
# RCS dependencies
#
# text files
smail.txt:		RCS/smail.txt,v
# util prgs
convert.c:		RCS/convert.c,v
batch_smtp.c:	RCS/batch_smtp.c,v
mail.c:        RCS/mail.c,v
# smail
main.c:        RCS/main.c,v
map.c:         RCS/map.c,v
resolve.c:     RCS/resolve.c,v
deliver.c:     RCS/deliver.c,v
misc.c:        RCS/misc.c,v
alias.c:       RCS/alias.c,v
pw.c:          RCS/pw.c,v
headers.c:     RCS/headers.c,v
getpath.c:     RCS/getpath.c,v
str.c:         RCS/str.c,v
getopt.c:      RCS/getopt.c,v
sysdep.c:      RCS/sysdep.c,v
sysdep_axsh.c: RCS/sysdep.c,v
bsmtp.c:       RCS/bsmtp.c,v
# Header files
defs.h:			RCS/defs.h,v pwd.h sysexits.h
pwd.h:			RCS/pwd.h,v
sysexits.h:		RCS/sysexits.h,v
