# Generated automatically from Makefile.in by configure.
# Unix Makefile for slrn                               -*- sh -*-
#---------------------------------------------------------------------------
# This file is divided into six configurable sections.  The last two sections
# are optional: Section 5 deals with setting up slrn to read the server name 
# from a file.  If you are compiling this on Linux and you want it to work 
# with 'term', look at the 6th section.
#-----------------------------------------------------------------------------
# 1. Choose a C compiler.  It must understand prototypes.
#-----------------------------------------------------------------------------
CC = gcc
CFLAGS = -O3 -fomit-frame-pointer -m68020 -mstackextend 
LDFLAGS = -s -mstackextend 
#  Note: gcc -O2 is buggy under Linux.  If you use it, include the
#        -fno-strength-reduce flag!!
#-----------------------------------------------------------------------------
# 2. On a few systems, additional libraries are required.
#-----------------------------------------------------------------------------
MISCLIBS =  
#MISCLIBS = -lnsl -lsocket                             # Solaris
#MISCLIBS = -ltermcap                                  # NeXT

#-----------------------------------------------------------------------------
# 3. Directory where the slang library, slanglib.a, is located.
#    BUILD SLANG FIRST!!!!  If you do not have it, get it from the same place
#    you picked up slrn.  The current home is space.mit.edu:/pub/davis/slang.
#-----------------------------------------------------------------------------
#Location of slang.h
SLANGINC = /Data/C-Source/slrn/slang/src#
#Location of libslang.a
SLANGLIB = /Data/C-Source/slrn/slang/src/objs#
# Note: The relative path names should be done with respect to OBJDIR.
#SLANGLIB = ../../../slang/$(ARCH)elfobjs#    Location of shared elf library
#SLANGINC = ../../../slang/src#               Location of slang.h
#SLANGLIB = $(SLANGINC)/$(ARCH)objs#       Location of libslang.a


#-----------------------------------------------------------------------------
# 4. Location where object files are placed (Absolute pathnames!!)
#-----------------------------------------------------------------------------
OBJDIR = /Data/C-Source/slrn/slrn-0.9.6.2/src/objs
SRCDIR = /Data/C-Source/slrn/slrn-0.9.6.2/src
#-----------------------------------------------------------------------------
# 5. If you want to read the server from a file, uncomment the following
#    lines and edit it as appropriate.  See INSTALL for more information.
#    It is also possible to provide defaults for other variables such as the
#    HOSTNAME, etc...  by editing the slrnfeat.h file.
#-----------------------------------------------------------------------------
#NNTPSERVERFILE = -DNNTPSERVER_FILE=\"/usr/local/lib/news/nntp_server\"

#----------------------------------------------------------------------------
# 6.  Uncomment the following lines for Linux Term compatability.
#MISCLIBS += -ltermnet
#MISCINCLUDES = -include /usr/local/include/termnet.h

#---------------------------------------------------------------------------
# Installation
#---------------------------------------------------------------------------
INSTALL_OWNER = # -o root -g root
INSTALL = /bin/install -c $(INSTALL_OWNER)
INSTALL_DATA = ${INSTALL} -m 644 $(INSTALL_OWNER)
prefix = /usr/local
exec_prefix = ${prefix}

BINDIR = ${exec_prefix}/bin
DOCDIR = $(prefix)/doc/slrn
MANDIR = ${prefix}/man
MACRODIR = ${prefix}/share/slrn
MKINSDIR = ../autoconf/mkinsdir.sh

# DESTDIR is designed to facilitate making packages.  Normally it is empty
DESTDIR =
DEST_DOCDIR = $(DESTDIR)$(DOCDIR)
DEST_MANDIR = $(DESTDIR)$(MANDIR)
DEST_BINDIR = $(DESTDIR)$(BINDIR)
DEST_MACRODIR = $(DESTDIR)$(MACRODIR)

# Directory where macros will be located.
SLRN_MACRO_DIR = -DSLRN_MACRO_DIR=\"$(MACRODIR)\"

# Files to install in DOC_DIR:
DOCDIR_FILES = help.txt INSTALL README.vms README.os2 README.GroupLens \
	       README.macros FAQ SCORE_FAQ score.txt score.sl \
	       slrn.rc README.w95 pc-keys.txt \
	       slrn-doc.html slrnfuns.txt
DOC_FILES = COPYRIGHT COPYING README changes.txt
MAN_FILES = ../doc/slrn.1
MACRO_FILES = ../macros/*.sl
SLRNPULL_DOCS = ../slrnpull/*

#----------------------------------------------------------------------------
# Nothing below here should require changing.
#----------------------------------------------------------------------------
SHELL = /bin/sh
OBJS =  $(OBJDIR)/art.o $(OBJDIR)/chmap.o $(OBJDIR)/editscore.o $(OBJDIR)/group.o $(OBJDIR)/grplens.o $(OBJDIR)/hash.o $(OBJDIR)/help.o $(OBJDIR)/interp.o $(OBJDIR)/menu.o $(OBJDIR)/mime.o $(OBJDIR)/misc.o $(OBJDIR)/post.o $(OBJDIR)/score.o $(OBJDIR)/server.o $(OBJDIR)/sortdate.o $(OBJDIR)/slrn.o $(OBJDIR)/startup.o $(OBJDIR)/ttymsg.o $(OBJDIR)/util.o $(OBJDIR)/uudecode.o $(OBJDIR)/xover.o $(OBJDIR)/slrndir.o $(OBJDIR)/version.o $(OBJDIR)/print.o $(OBJDIR)/artmisc.o
OFILES =  art.o chmap.o editscore.o group.o grplens.o hash.o help.o interp.o menu.o mime.o misc.o post.o score.o server.o sortdate.o slrn.o startup.o ttymsg.o util.o uudecode.o xover.o slrndir.o version.o print.o artmisc.o

EXEC = slrn
CONFIG_H = config.h
ALL_CFLAGS = $(CFLAGS) -Dunix -I$(SLANGINC) \
 $(MISCINCLUDES) $(NNTPSERVERFILE) $(SLRNLIBDIR) $(SLRN_MACRO_DIR)
EXECLIBS = -L$(SLANGLIB) -lslang $(MISCLIBS) -lm
DOT_O_DEPS = slrnfeat.h
server_O_DEP = clientlib.c spool.c nntp.c sltcp.c nntplib.c
chmap_O_DEP = chmap.h charmaps.h
chkslang_O_DEP = config.h Makefile
version_O_DEP = version.h

slrnpull_O_DEP = score.c xover.c hash.c version.h
slrnpull_DEPS = $(OBJDIR)/util.o $(OBJDIR)/ttymsg.o \
 $(OBJDIR)/sltcp.o $(OBJDIR)/nntplib.o $(OBJDIR)/slrndir.o

slrnpull_LIBS = $(slrnpull_DEPS)

UUDECODE_OBJS = $(OBJDIR)/util.o $(OBJDIR)/ttymsg.o $(OBJDIR)/slrndir.o

#
COMPILE_CMD = $(CC) -c $(ALL_CFLAGS)
#
all: $(EXEC)
$(EXEC): $(OBJDIR) $(CONFIG_H) slangversion $(OBJDIR)/$(EXEC)
	@echo $(EXEC) created in $(OBJDIR)
$(OBJDIR)/$(EXEC): $(OBJS)
	cd $(OBJDIR); $(CC) $(OFILES) -o $(EXEC) $(LDFLAGS) $(EXECLIBS)
#
$(OBJDIR):
	-mkdir $(OBJDIR)
#
$(CONFIG_H) : $(SRCDIR)/sysconf.h
	/bin/cp $(SRCDIR)/sysconf.h $(CONFIG_H)
	touch $(CONFIG_H)
#
slangversion: $(OBJDIR)/chkslang
	$(OBJDIR)/chkslang $(EXEC) 10003
#
$(OBJDIR)/chkslang: $(OBJDIR)/chkslang.o
	$(CC) $(OBJDIR)/chkslang.o -o $(OBJDIR)/chkslang $(EXECLIBS)
uudecode: uudecode.c $(UUDECODE_OBJS)
	$(CC) $(ALL_CFLAGS) -DSTANDALONE $(LDFLAGS) -o uudecode uudecode.c $(UUDECODE_OBJS) $(EXECLIBS)
	touch uudecode.c
clean:
	/bin/rm -f $(OBJDIR)/* *~
distclean: clean
	/bin/rm -rf $(OBJDIR) Makefile sysconf.h
installdirs:
	$(MKINSDIR) $(DEST_DOCDIR)
	$(MKINSDIR) $(DEST_DOCDIR)/slrnpull
	$(MKINSDIR) $(DEST_MACRODIR)
	$(MKINSDIR) $(DEST_MANDIR)/man1
	$(MKINSDIR) $(DEST_BINDIR)

install: all installdirs
	$(INSTALL) -m 755 -s $(OBJDIR)/slrn $(DEST_BINDIR)
	-$(INSTALL) -m 755 -s $(OBJDIR)/slrnpull $(DEST_BINDIR)
	@for i in $(DOCDIR_FILES); \
	do \
		i=../doc/$$i; \
		echo $(INSTALL_DATA) $$i $(DEST_DOCDIR); \
		$(INSTALL_DATA) $$i $(DEST_DOCDIR); \
		if [ "$$?" != "0" ]; then \
		  exit 1; \
		fi; \
	done
	@for i in $(DOC_FILES); \
	do \
		i=../$$i; \
		echo $(INSTALL_DATA) $$i $(DEST_DOCDIR); \
		$(INSTALL_DATA) $$i $(DEST_DOCDIR); \
		if [ "$$?" != "0" ]; then \
		  exit 1; \
		fi; \
	done
	@for i in $(MACRO_FILES); \
	do \
		echo $(INSTALL_DATA) $$i $(DEST_MACRODIR); \
		$(INSTALL_DATA) $$i $(DEST_MACRODIR); \
		if [ "$$?" != "0" ]; then \
		  exit 1; \
		fi; \
	done
	@for i in $(MAN_FILES); \
	do \
		echo $(INSTALL_DATA) $$i $(DEST_MANDIR)/man1/; \
		$(INSTALL_DATA) $$i $(DEST_MANDIR)/man1/; \
		if [ "$$?" != "0" ]; then \
		  exit 1; \
		fi; \
	done
	@for i in $(SLRNPULL_DOCS); \
	do \
		echo $(INSTALL_DATA) $$i $(DEST_DOCDIR)/slrnpull; \
		$(INSTALL_DATA) $$i $(DEST_DOCDIR)/slrnpull; \
		if [ "$$?" != "0" ]; then \
		  exit 1; \
		fi; \
	done

# The symlinks target is for my own private use.  It simply creates the object
# directory as a symbolic link to a local disk instead of an NFS mounted one.
symlinks:
	-/bin/rm -f $(ARCH)objs
	mkdir -p $(HOME)/sys/$(ARCH)/objs/slrn/src
	ln -s $(HOME)/sys/$(ARCH)/objs/slrn/src $(ARCH)objs
#---------------------------------------------------------------------------
# Rules (automatically generated)
#---------------------------------------------------------------------------

$(OBJDIR)/art.o : $(SRCDIR)/art.c $(DOT_O_DEPS) $(art_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/art.c

$(OBJDIR)/chmap.o : $(SRCDIR)/chmap.c $(DOT_O_DEPS) $(chmap_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/chmap.c

$(OBJDIR)/editscore.o : $(SRCDIR)/editscore.c $(DOT_O_DEPS) $(editscore_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/editscore.c

$(OBJDIR)/group.o : $(SRCDIR)/group.c $(DOT_O_DEPS) $(group_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/group.c

$(OBJDIR)/grplens.o : $(SRCDIR)/grplens.c $(DOT_O_DEPS) $(grplens_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/grplens.c

$(OBJDIR)/hash.o : $(SRCDIR)/hash.c $(DOT_O_DEPS) $(hash_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/hash.c

$(OBJDIR)/help.o : $(SRCDIR)/help.c $(DOT_O_DEPS) $(help_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/help.c

$(OBJDIR)/interp.o : $(SRCDIR)/interp.c $(DOT_O_DEPS) $(interp_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/interp.c

$(OBJDIR)/menu.o : $(SRCDIR)/menu.c $(DOT_O_DEPS) $(menu_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/menu.c

$(OBJDIR)/mime.o : $(SRCDIR)/mime.c $(DOT_O_DEPS) $(mime_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/mime.c

$(OBJDIR)/misc.o : $(SRCDIR)/misc.c $(DOT_O_DEPS) $(misc_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/misc.c

$(OBJDIR)/post.o : $(SRCDIR)/post.c $(DOT_O_DEPS) $(post_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/post.c

$(OBJDIR)/score.o : $(SRCDIR)/score.c $(DOT_O_DEPS) $(score_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/score.c

$(OBJDIR)/server.o : $(SRCDIR)/server.c $(DOT_O_DEPS) $(server_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/server.c

$(OBJDIR)/sortdate.o : $(SRCDIR)/sortdate.c $(DOT_O_DEPS) $(sortdate_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/sortdate.c

$(OBJDIR)/slrn.o : $(SRCDIR)/slrn.c $(DOT_O_DEPS) $(slrn_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/slrn.c

$(OBJDIR)/startup.o : $(SRCDIR)/startup.c $(DOT_O_DEPS) $(startup_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/startup.c

$(OBJDIR)/ttymsg.o : $(SRCDIR)/ttymsg.c $(DOT_O_DEPS) $(ttymsg_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/ttymsg.c

$(OBJDIR)/util.o : $(SRCDIR)/util.c $(DOT_O_DEPS) $(util_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/util.c

$(OBJDIR)/uudecode.o : $(SRCDIR)/uudecode.c $(DOT_O_DEPS) $(uudecode_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/uudecode.c

$(OBJDIR)/xover.o : $(SRCDIR)/xover.c $(DOT_O_DEPS) $(xover_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/xover.c

$(OBJDIR)/slrndir.o : $(SRCDIR)/slrndir.c $(DOT_O_DEPS) $(slrndir_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/slrndir.c

$(OBJDIR)/version.o : $(SRCDIR)/version.c $(DOT_O_DEPS) $(version_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/version.c

$(OBJDIR)/print.o : $(SRCDIR)/print.c $(DOT_O_DEPS) $(print_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/print.c

$(OBJDIR)/artmisc.o : $(SRCDIR)/artmisc.c $(DOT_O_DEPS) $(artmisc_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/artmisc.c

$(OBJDIR)/chkslang.o : $(SRCDIR)/chkslang.c $(DOT_O_DEPS) $(chkslang_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/chkslang.c

$(OBJDIR)/sltcp.o : $(SRCDIR)/sltcp.c $(DOT_O_DEPS) $(sltcp_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/sltcp.c

$(OBJDIR)/nntplib.o : $(SRCDIR)/nntplib.c $(DOT_O_DEPS) $(nntplib_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(SRCDIR)/nntplib.c

slrnpull : $(OBJDIR)/slrnpull
	@echo slrnpull created in $(OBJDIR)
$(OBJDIR)/slrnpull : $(OBJDIR)/slrnpull.o $(slrnpull_DEPS) $(EXECDEPS)
	$(CC) -o $(OBJDIR)/slrnpull $(LDFLAGS) $(OBJDIR)/slrnpull.o $(slrnpull_LIBS) $(EXECLIBS)
$(OBJDIR)/slrnpull.o : $(SRCDIR)/slrnpull.c $(DOT_O_DEPS) $(slrnpull_O_DEP)
	cd $(OBJDIR); $(COMPILE_CMD) $(slrnpull_INC) $(EXECINC) $(SRCDIR)/slrnpull.c

