# This is where mint.prg sits, init.prg should be in the same place unless
#   you have directed mint to look elsewhere using a mint.cnf file.

MINTDIR=/c/mint

# This is where all your executables are held.

BINDIR=/bin
USRBINDIR=/usr/bin

# This is the directory which will be come /etc using a symbolic link set up
# in your mint.cnf. For OS's other than MiNT leave it as /etc.

ETCDIR=/etc

# This is the extention given to executables which will be called from the
# command line.

TTPEXT=

# This is the extention given to init, MiNT expects it to be .prg.

PRGEXT=.prg

SHELL=/bin/sh
CFLAGS=-O # -mbaserel -mpcrel

BINARIES=init syslog login getty who finger ac wlogin last write halt

all: lib $(BINARIES)

# If you have mntlib10 or below or are compiling this for an OS other than
# MiNT, uncomment the line containing (cd lib ; $(MAKE))

lib: lib/libusers.a

lib/libusers.a: lib/utmp.c lib/wtmp.c
	(cd lib ; $(MAKE))

init: init/init$(PRGEXT)

init/init$(PRGEXT): init/init.c init/getttyent.c
	( cd init ; $(MAKE) )


syslog/libsyslog.a: syslog/syslog.c
	( cd syslog; $(MAKE) )

syslogd:
	( cd syslog; $(MAKE) )

login: syslog/libsyslog.a login/login$(TTPEXT)

login/login$(TTPEXT): login/login.c login/fcrypt.c
	( cd login ; $(MAKE) login.ttp )
	( cd login ; $(MAKE) su.ttp )
	( cd login ; $(MAKE) passwd.ttp )

getty: getty/getty

getty/getty: getty/getty.c
	( cd getty ; $(MAKE) )

who: who/who$(TTPEXT)

who/who$(TTPEXT): who/who.c
	( cd who ; $(MAKE) )

last: last/last$(TTPEXT)

last/last$(TTPEXT): last/last.c
	( cd last ; $(MAKE) )

finger: finger/finger$(TTPEXT)

finger/finger$(TTPEXT): finger/finger.c
	( cd finger ; $(MAKE) )

write: write/write$(TTPEXT)

write/write$(TTPEXT): write/write.c
	( cd write ; $(MAKE) )

ac: ac/ac$(TTPEXT)

ac/ac$(TTPEXT): ac/ac.c
	( cd ac ; $(MAKE) )

wlogin: wlogin/wlogin$(TTPEXT)

wlogin/wlogin$(TTPEXT): wlogin/wlogin.c wlogin/makefile
	( cd wlogin ; $(MAKE) )

sh: sh/sh.ttp

sh/sh.ttp:
	( cd sh ; $(MAKE) )

install:
	-cp init/init.prg $(MINTDIR)/init$(PRGEXT)
	-chmod +x $(MINTDIR)/init$(PRGEXT)
	-cp login/login.ttp $(BINDIR)/login$(TTPEXT)
	-chmod +x $(BINDIR)/login$(TTPEXT)
	-chmod u+s $(BINDIR)/login$(TTPEXT)
	-cp login/su.ttp $(BINDIR)/su$(TTPEXT)
	-chmod +x $(BINDIR)/su$(TTPEXT)
	-chmod u+s $(BINDIR)/su$(TTPEXT)
	-cp login/passwd.ttp $(BINDIR)/passwd$(TTPEXT)
	-chmod +x $(BINDIR)/passwd$(TTPEXT)
	-chmod u+s $(BINDIR)/passwd$(TTPEXT)
	-cp getty/getty $(ETCDIR)/getty
	-chmod +x $(ETCDIR)/getty
	-cp who/who.ttp $(USRBINDIR)/who$(TTPEXT)
	-chmod +x $(USRBINDIR)/who$(TTPEXT)
	-cp last/last.ttp $(USRBINDIR)/last$(TTPEXT)
	-chmod +x $(USRBINDIR)/last$(TTPEXT)
	-cp finger/finger.ttp $(USRBINDIR)/finger$(TTPEXT)
	-chmod +x $(USRBINDIR)/finger$(TTPEXT)
	-cp write/write.ttp $(USRBINDIR)/write$(TTPEXT)
	-chmod +x $(USRBINDIR)/write$(TTPEXT)
	-cp ac/ac.ttp $(USRBINDIR)/ac$(TTPEXT)
	-chmod +x $(USRBINDIR)/ac$(TTPEXT)
	-cp wlogin/wlogin.ttp $(USRBINDIR)/wlogin$(TTPEXT)
	-chmod +x $(USRBINDIR)/wlogin$(TTPEXT)
	-cp sh/sh.ttp $(BINDIR)/sh$(TTPEXT)
	-chmod +x $(BINDIR)/sh$(TTPEXT)
	-cp syslog/syslogd /usr/etc/syslogd
	-chmod +x /usr/etc/syslogd
	-cp halt/halt $(ETCDIR)/halt$(TTPEXT)
	-chmod +x $(ETCDIR)/halt$(TTPEXT)

man:
	cp man/ac.8 /usr/man/man8
	cp man/getty.8 /usr/man/man8
	cp man/gettytab.5 /usr/man/man5
	cp man/wlogin.1 /usr/man/man1

clean:
	( for file in $(BINARIES) ; do export file ; ( cd $$file ; echo $$file ; $(MAKE) clean ) ; done )
