# Makefile -- Makefile for utile-1.0 Linux utilities
# Created: Sat Dec 26 20:09:40 1992
# Revised: Mon Mar  8 18:51:01 1993 by faith@cs.unc.edu
# Copyright 1992 Rickard E. Faith (faith@cs.unc.edu)
#
# $Log$
#

# TAMU MODS -- mount and umount now come from bootutil package
#           -- halt and shutdown are in sysv init package
#           -- put fsck and mkfs in fsck.minix, and mkfs.minix
#	    -- syslogd now comes in sysklogd package

CC=        gcc
CFLAGS=    -O6 -I.
LDFLAGS=   -s -N

MAN5=      fstab.5 nfs.5 syslog.conf.5

MAN8=      agetty.8 clock.8 ctrlaltdel.8 doshell.8 fdformat.8  \
	   frag.8  kbdrate.8 makehole.8 mkfs.8 mkswap.8  \
	   rdev.8 setfdprm.8 setserial.8  simpleinit.8  \
	   sync.8 syslogd.8 update.8

ETC=       agetty clock ctrlaltdel doshell fdformat fdisk frag  \
	   kbdrate makehole mkswap rdev setfdprm setserial \
	   simpleinit sync update

ETC_FILES= fdprm

SPECIAL=    sundries.o fstab.o

all: $(ETC) $(SPECIAL) mkfs.minix fsck.minix

mkswap.o: mkswap.c
	gcc -c -x c++ mkswap.c

%.o: %.c
	$(CC) -c $(CFLAGS) $< -o $@

$(ETC):
	$(CC) $(LDFLAGS) $^ -o $@

mkfs.minix:
	$(CC) $(LDFLAGS) -o mkfs.minix mkfs.c

fsck.minix:
	$(CC) $(LDFLAGS) -o fsck.minix fsck.c

syslogd: syslogd.o daemon.o ttymsg.o getopt.c
	$(CC) $(LDFLAGS) -o syslogd syslogd.o daemon.o ttymsg.o getopt.c

$(SPECIAL):
	$(CC) -c $(CFLAGS) $(LDFLAGS) -Wstrict-prototypes \
	-Wmissing-prototypes -DFSTYPE_DEFAULT=\"minix\" $(*F).c -o $@

agetty: agetty.o
clock: clock.o
ctrlaltdel: ctrlaltdel.o
doshell: doshell.o
fdformat: fdformat.o
fdisk: fdisk.o
frag: frag.o
fsck: fsck.o
kbdrate: kbdrate.o
makehole: makehole.o
mkfs: mkfs.o
mkswap: mkswap.o
rdev: rdev.o
setfdprm: setfdprm.o
setroot: setroot.o
setserial: setserial.o
shutdown: shutdown.o
simpleinit: simpleinit.o
sync: sync.o
update: update.o

mount: mount.o sundries.o fstab.o
umount: umount.o sundries.o fstab.o
swapon: swapon.o fstab.o
sundries.o: sundries.h sundries.c
fstab.o: fstab.h fstab.c

# NOTE: tamu (added ${BINROOTDIR} to following lines)
install: all
	install -m 755 $(ETC) ${BINROOTDIR}/sbin
	install -m 755 mkfs.minix $(BINROOTDIR)/sbin
	install -m 755 fsck.minix $(BINROOTDIR)/sbin
#	install -m 755 syslogd $(BINROOTDIR)/usr/sbin
#	ln -sf /sbin/shutdown ${BINROOTDIR}/sbin/reboot
#	ln -sf /sbin/shutdown ${BINROOTDIR}/sbin/fastboot
#	ln -sf /sbin/shutdown ${BINROOTDIR}/sbin/halt
#	ln -sf /sbin/shutdown ${BINROOTDIR}/sbin/fasthalt
	ln -sf /sbin/rdev ${BINROOTDIR}/sbin/swapdev
	ln -sf /sbin/rdev ${BINROOTDIR}/sbin/ramsize
	ln -sf /sbin/rdev ${BINROOTDIR}/sbin/vidmode
	ln -sf /sbin/swapon ${BINROOTDIR}/sbin/swapoff
	install -m 644 $(ETC_FILES) ${BINROOTDIR}/etc
	install -m 644 $(MAN5) ${BINROOTDIR}/usr/man/man5
	install -m 644 $(MAN8) ${BINROOTDIR}/usr/man/man8
	install -m 644 fsck.8 $(BINROOTDIR)/usr/man/man8/fsck.minix.8
	install -m 644 mkfs.8 $(BINROOTDIR)/usr/man/man8/mkfs.minix.8
#	ln -sf /usr/man/man8/shutdown.8 ${BINROOTDIR}/usr/man/man8/reboot.8
#	ln -sf /usr/man/man8/shutdown.8 ${BINROOTDIR}/usr/man/man8/fastboot.8
#	ln -sf /usr/man/man8/shutdown.8 ${BINROOTDIR}/usr/man/man8/halt.8
#	ln -sf /usr/man/man8/shutdown.8 ${BINROOTDIR}/usr/man/man8/fasthalt.8
	ln -sf /usr/man/man8/rdev.8 ${BINROOTDIR}/usr/man/man8/swapdev.8
	ln -sf /usr/man/man8/rdev.8 ${BINROOTDIR}/usr/man/man8/ramsize.8
	ln -sf /usr/man/man8/rdev.8 ${BINROOTDIR}/usr/man/man8/vidmode.8
	ln -sf /usr/man/man8/mount.8 ${BINROOTDIR}/usr/man/man8/umount.8
	ln -sf /usr/man/man8/swapon.8 ${BINROOTDIR}/usr/man/man8/swapoff.8
	
clean:
	-rm -f $(ETC) *.o *~ syslogd
