#	asys makefile   WARNING: distclean rm *.c files!
#
SHELL = /bin/sh
RCC=./rcc
srcdir = src
INSTALL_PROGRAM = $(INSTALL)
INSTALL_DATA = $(INSTALL)
# on SunOS gcc fixes includes but not libs ;-)
# so astrtoul=strtol
# however on the true POSIX systems like Linux astrtoul=strtoul
# and ISC aka generic SYSV have no mmap(). Non GNU systems stink!
# supposedly for Linux

#	Linux (aka POSIX)
LOCALE = /usr/lib/locale
#	So, what do you want in SunOS?
#LOCALE=/usr/share/lib/locale
NEWSLIB=/usr/local/lib/news/
NEWSACTIVE=$(NEWSLIB)active
NEWSGROUPS=$(NEWSLIB)newsgroups
NEWSHIERAR=$(NEWSLIB)newshier# like the NEWSGROUPS but
# with subtrees description. It could be empty like NEWSGROUPS though...

####### This seemed to be site independent
RUS=${LOCALE}/RU_ru
RUSM=${RUS}/gnos.cat
ENG=${LOCALE}/C
ENGM=${ENG}/gnos.cat
NEWSCAT=${ENG}/newss.cat
SITEDEFS = -DNLSPATHRUS=\"${RUSM}\"	-DNLSPATHENG=\"${ENGM}\" \
					-DNLSPATHNEWS=\"${NEWSCAT}\" \
	-DNEWSGROUPS=\"${NEWSGROUPS}\" \
	-DNEWSACTIVE=\"${NEWSACTIVE}\" \
	-DNEWSHIERAR=\"${NEWSHIERAR}\"
OSDEFS = -Dastrtoul=strtoul -D_POSIX_SOURCE
# SunOS 4.1.3? (Do we really need _POSIX_SOURCE on *THAT* system?
#OSDEFS = -Dastrtoul=strtol -D_POSIX_SOURCE
# ISC aka generic SYSV. Sucks of cource...
#OSDEFS = -Dastrtoul=strtol -DNOMMAP -D_POSIX_SOURCE
#
CC = gcc -xc++ -g -O0 -I. -Wall -finline-functions $(SITEDEFS) $(OSDEFS)
LIBS =
LD = gcc
L = lib/
S = $(srcdir)/
O = o/
C = $(CC) $? -c -o $@
BINDIR = /usr/local/bin
RM = rm -f
RPCGEN = rpcgen
.SUFFIXES: .g
.x.o:
	$(RPCGEN) $<
.g.o:
	$(CC) -c $<
VPATH = ../src

OBJS =	cmds.o a_mua.o aglier.o parse822.o millie.o internet.o usenet.o \
		cnews_drv.o localize.o a_stdio.o aspawn.o a_mmap.o
NEWSS=	newss.o newss_cnews.o localize.o a_stdio.o a_mmap.o # a_fileinfo.o
EXES =	gnos rcc newss #aglier
####

all:	$(EXES) cats 
	cd zmodem;make rz rb

rcc:	rcc.o localize.o a_stdio.o
	$(LD) -o rcc rcc.o localize.o a_stdio.o

gnos:	$(OBJS)
	$(LD) -o gnos $(OBJS)
	chmod o+rx gnos

newss:	$(NEWSS)
	$(LD) -o newss $(NEWSS)
	chmod o+rx newss

aglier: millie_m.o localize.o a_stdio.o
	$(LD) -o aglier millie_m.o localize.o a_stdio.o

millie_m.o:	millie.g
	$(CC) -c -DSTANDALONE -o millie_m.o millie.g
	
cats:	gnos_c.cat gnos_rus.cat newss.cat

gnos_c.cat:	rcc gnos.rc gnos_c.rc
	echo "making gnos_c.cat"
	cat gnos.rc gnos_c.rc|$(RCC) > gnos_c.cat # "C" locale

gnos_rus.cat:	rcc gnos.rc gnos_rus.rc
	echo "making gnos_rus.cat"
	cat gnos.rc gnos_rus.rc|$(RCC) >gnos_rus.cat # "ISO-8859-5" locale

newss.cat:	rcc newss_c.rc gnos_c.rc
	echo "making newss_c.cat"
	cat gnos_c.rc newss_c.rc|$(RCC) > newss.cat # Just a "C"

catsins:
	-mkdir -p $(RUS)
	-mkdir -p $(ENG)
	cp gnos_c.cat $(ENGM)
	cp gnos_rus.cat $(RUSM)
	cp newss.cat $(NEWSCAT)

install:	catsins
	-mkdir -p $(BINDIR)
	-mv $(BINDIR)/gnos $(BINDIR)/gnos.old
	cp gnos $(BINDIR)/
	strip $(BINDIR)/gnos
	cd zmodem;cp r[bz] /usr/local/bin/

uninstall:
	$(RM) $(BINDIR)/gnos

mostlyclean:	
	$(RM) core *.o *.cat $(EXES)

clean:	mostlyclean
	$(RM) *.cat
	cd zmodem; make clean

realclean:	clean
	$(RM) *~ *.bak *.cat
	$(RM) *.c

distclean:	realclean

TAGS:

info:

dist:

strip:	all
	strip asys

$(D)anew.o:	$(L)anew.g

check:
	cat gnos.rc gnos_c.rc newss_c.rc|less

# DO NOT DELETE THIS LINE -- make depend depends on it.
