# $Id: Smakefile,v 1.24 1994/05/15 12:58:07 jraja Exp $
#
# Smakefile for AmiTCP/IP utilities
#
# Copyright  1993 AmiTCP/IP Group, <amitcp-group@hut.fi>
#	           Helsinki University of Technology, Finland.
#                  All rights reserved.
#
# Created      : Fri May 14 22:23:09 1993 ppessi
# Last modified: Fri Feb 25 21:59:47 1994 ppessi
#
# $Log: Smakefile,v $
# Revision 1.24  1994/05/15  12:58:07  jraja
# Added showmount (no autodoc yet).
#
# Revision 1.23  1994/03/10  17:42:57  jraja
# Removed netstat dependency, which was to itself!
#
# Revision 1.22  1994/03/09  07:08:09  jraja
# Added portmap and rpcinfo, fixed dependencies.
#
# Revision 1.21  1994/02/25  20:53:02  ppessi
# Added rules for ls and finger
#
# Revision 1.20  1994/02/25  16:39:50  ppessi
# Updated the whole util structure
#
#

DEST = AmiTCP:

#
# These will be made & moved to the bin directory
#
CPROGS= arp/arp \
	finger/finger \
	id/id \
	ifconfig/ifconfig \
	inetd/inetd \
	letnet/letnet \
	ls/ls \
	login/login \
	online/online \
	passwd/passwd \
	ping/ping \
	portmap/portmap \
	resolve/resolve \
	route/route \
	rpcinfo/rpcinfo \
	rsh/rsh \
	showmount/showmount \
	umask/umask \
	whoami/whoami
	
PROGS= $(CPROGS) netstat/netstat

SRC_ARP=      arp/Smake.def arp/arp.c
SRC_FINGER=   finger/Smake.def finger/tzfile.h finger/finger.h \
              finger/finger.c finger/lprint.c finger/sprint.c finger/net.c \
              finger/util.c finger/strsep.c finger/ctype.c
SRC_ID=       id/Smake.def id/id.c
SRC_IFCONFIG= ifconfig/Smake.def ifconfig/ifconfig.c
SRC_INETD=    inetd/Smake.def inetd/inetd.c
SRC_LETNET=   letnet/Smake.def letnet/letnet.c letnet/letnet.h letnet/sender.c
SRC_LS=       ls/Smake.def ls/ls.h ls/ls.c ls/list.c ls/print.c ls/sort.c \
              ls/user.c
SRC_LOGIN=    login/Smake.def login/config.h login/pathnames.h login/login.c
SRC_NETSTAT=  netstat/netstat
SRC_ONLINE=   online/Smake.def online/online.c
SRC_PASSWD=   passwd/Smake.def passwd/config.h passwd/passwd.c
SRC_PING=     ping/Smake.def ping/ping.c
SRC_PORTMAP=  portmap/Smake.def portmap/portmap.c
SRC_RESOLVE=  resolve/Smake.def resolve/resolve.c
SRC_ROUTE=    route/Smake.def route/keywords.h route/route.c
SRC_RPCINFO=  rpcinfo/Smake.def rpcinfo/rpcinfo.c
SRC_RSH=      rsh/Smake.def rsh/pathnames.h rsh/dosio.c rsh/dosio.h rsh/rsh.c
SRC_SHOWMOUNT=showmount/Smake.def showmount/showmount.c
SRC_UMASK=    umask/Smake.def umask/umask.c
SRC_WHOAMI=   whoami/Smake.def whoami/whoami.c

SRCS= $(SRC_ARP) $(SRC_ID) $(SRC_IFCONFIG) $(SRC_INETD) \
      $(SRC_LETNET) $(SRC_LOGIN) $(SRC_NETSTAT) $(SRC_ONLINE) $(SRC_PASSWD) \
      $(SRC_PING) $(SRC_PORTMAP) $(SRC_RESOLVE) $(SRC_ROUTE) $(SRC_RPCINFO) $(SRC_RSH) $(SRC_SHOWMOUNT) $(SRC_UMASK) \
      $(SRC_WHOAMI) 

DOCSRC= arp/arp.c finger/finger.c id/id.c ifconfig/ifconfig.c \
	inetd/inetd.c letnet/letnet.c ls/ls.c login/login.c \
	netstat/netstat online/online.c passwd/passwd.c ping/ping.c \
	portmap/portmap.c resolve/resolve.c route/route.c \
	rpcinfo/rpcinfo.c rsh/rsh.c umask/umask.c whoami/whoami.c
	
DOCS= netutil.doc

MAKELINK = makelink
MKDIR = makedir
MAKE = smake
RM   = delete
CP = copy dates
AUTODOC= autodoc -C -I -c -t8

all: Smake-in-dir $(PROGS)

install: Smake-in-dir $(PROGS) $(DOCS) $(DEST)bin $(DEST)doc
	$(CP) $(PROGS) to $(DEST)bin
	$(CP) $(DOCS) to $(DEST)doc

$(DOCS): $(DOCSRC)
	$(AUTODOC) $(DOCSRC) >$@
$(DEST)bin:
	$(MKDIR) $(DEST)bin
$(DEST)doc:
	$(MKDIR) $(DEST)doc

Smake-in-dir: Smakefile
	copy to $@ <from < 
.key WHAT/A,DEST/K,INSTALL/S,TARGET/K/F
.bra {
.ket }
echo SMaking {WHAT}
cd {WHAT}
smake -k -f netinclude:Smake.template DEST={DEST} {TARGET}  {INSTALL}
cd /
<
	protect $@ +es

arp/arp: $(SRC_ARP) 
	Smake-in-dir arp

finger/finger: $(SRC_ID)
	Smake-in-dir finger

id/id: $(SRC_ID)
	Smake-in-dir id

ifconfig/ifconfig: $(SRC_IFCONFIG)
	Smake-in-dir ifconfig

inetd/inetd: $(SRC_INETD)
	Smake-in-dir inetd

letnet/letnet: $(SRC_LETNET)
	Smake-in-dir letnet

login/login: $(SRC_LOGIN)
	Smake-in-dir login

ls/ls: $(SRC_ID)
	Smake-in-dir ls

#
# This is a Rexx script
#
netstat/netstat: # $(SRC_NETSTAT) # was cyclic dependency, not needed
	protect $@ +es

online/online: $(SRC_ONLINE)
	Smake-in-dir online

passwd/passwd: $(SRC_PASSWD)
	Smake-in-dir passwd

ping/ping: $(SRC_PING)
	Smake-in-dir ping

portmap/portmap: $(SRC_PORTMAP)
	Smake-in-dir portmap

resolve/resolve: $(SRC_RESOLVE)
	Smake-in-dir resolve

route/route: $(SRC_ROUTE)
	Smake-in-dir route

rpcinfo/rpcinfo: $(SRC_RPCINFO)
	Smake-in-dir rpcinfo

rsh/rsh: $(SRC_RSH)
	Smake-in-dir rsh

showmount/showmount: $(SRC_SHOWMOUNT)
	Smake-in-dir showmount

umask/umask: $(SRC_UMASK)
	Smake-in-dir umask

whoami/whoami: $(SRC_WHOAMI)
	Smake-in-dir whoami

clean:
	Smake-in-dir arp TARGET CLEAN
	Smake-in-dir finger TARGET CLEAN
	Smake-in-dir id TARGET CLEAN
	Smake-in-dir ifconfig TARGET CLEAN
	Smake-in-dir inetd TARGET CLEAN
	Smake-in-dir letnet TARGET CLEAN
	Smake-in-dir login TARGET CLEAN
	Smake-in-dir ls TARGET CLEAN
	Smake-in-dir online TARGET CLEAN
	Smake-in-dir passwd TARGET CLEAN
	Smake-in-dir ping TARGET CLEAN
	Smake-in-dir portmap TARGET CLEAN
	Smake-in-dir resolve TARGET CLEAN
	Smake-in-dir route TARGET CLEAN
	Smake-in-dir rpcinfo TARGET CLEAN
	Smake-in-dir rsh TARGET CLEAN
	Smake-in-dir showmount TARGET CLEAN
	Smake-in-dir umask TARGET CLEAN
	Smake-in-dir whoami TARGET CLEAN

cleaner: clean
	-$(RM) $(CPROGS) Smake-in-dir
