#	Makefile,v 1.4 1994/12/31 17:16:49 jkh Exp
#
# Makefile for NETBOOT
#
# Don't edit this file except to change the version, edit Config
#
# Common options:
#	-DVERSION=v	- Set the version string (but see comment in main.c)

include Config

GCC=		gcc
CFLAGS+=	-DVERSION=\"2.1\"

# Order is very important on the SRCS line for this prog
SRCS=	$(START).S main.c linuxloader.c misc.c bootmenu.c rpc.c
OBJS=	$(START).o main.o linuxloader.o misc.o bootmenu.o rpc.o
ROBJS=	$(START).ro main.o linuxloader.o misc.o bootmenu.o rpc.o
TOBJS=	$(START).ro test.o misc.o
UTILS+=	makerom
BINS=	ne.com ne.rom 3c503.com 3c503.rom 3c509.com 3c509.rom wd.com wd.rom
CLEANFILES=	$(OBJS) $(START).ro wd.o 3c503.o ne.o 3c509.o test.o
CLEANFILES+=	$(UTILS) $(BINS) *.tmp *.tst

.SUFFIXES:	.ro .tst .rom .com

all:	$(UTILS) $(BINS)

clean:
	$(RM) -f $(CLEANFILES)

.S.ro:
	$(CC) $(CFLAGS) $(ASFLAGS) -DBOOTROM -o $@ -c $<

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

.o.tst:
	$(LD) $(LDFLAGS) -o $*.tmp $(TOBJS) $*.o $(LIBS)
	$(SIZE) $*.tmp
	$(OBJDUMP) $(OBJDUMPFLAGS) $*.tmp > $@
	makerom -s$(ROMSIZE) $@

.o.rom:
	$(LD) $(LDFLAGS) -o $*.tmp $(ROBJS) $*.o $(LIBS)
	$(SIZE) $*.tmp
	$(OBJDUMP) $(OBJDUMPFLAGS) $*.tmp > $@
	makerom -s$(ROMSIZE) $@

.o.com:
	$(LD) $(LDFLAGS) -o $*.tmp $(OBJS) $*.o $(LIBS)
	$(SIZE) $*.tmp
	$(OBJDUMP) $(OBJDUMPFLAGS) $*.tmp > $@

$(OBJS):	linuxdef.h netboot.h

wd.o:	ns8390.c linuxdef.h netboot.h
	$(CC) $(CFLAGS) $(WDFLAGS) -o $@ -c $<

3c503.o:	ns8390.c linuxdef.h netboot.h
	$(CC) $(CFLAGS) $(T503FLAGS) -o $@ -c $<

3c509.o:	3c509.c linuxdef.h netboot.h
	$(CC) $(CFLAGS) $(T509FLAGS) -o $@ -c $<

ne.o:	ns8390.c linuxdef.h netboot.h
	$(CC) $(CFLAGS) $(NEFLAGS) -o $@ -c $<

makerom: makerom.c
	$(GCC) -o $@ makerom.c

size86: size86.c
	$(GCC) -I. -o $@ size86.c

objdump86: objdump86.c
	$(GCC) -o $@ objdump86.c

# targets for making test ROMs

wd.tst:		$(UTILS) $(START).ro $(TOBJS) wd.o $(LIBS)

3c503.tst:	$(UTILS) $(START).ro $(TOBJS) 3c503.o $(LIBS)

ne.tst:		$(UTILS) $(START).ro $(TOBJS) ne.o $(LIBS)

3c509.tst:	$(UTILS) $(START).ro $(TOBJS) 3c509.o $(LIBS)

wd.rom:		$(UTILS) $(START).ro $(ROBJS) wd.o $(LIBS)

3c503.rom:	$(UTILS) $(START).ro $(ROBJS) 3c503.o $(LIBS)

ne.rom:		$(UTILS) $(START).ro $(ROBJS) ne.o $(LIBS)

3c509.rom:	$(UTILS) $(START).ro $(ROBJS) 3c509.o $(LIBS)

wd.com:		$(UTILS) $(START).o $(OBJS) wd.o $(LIBS)

3c503.com:	$(UTILS) $(START).o $(OBJS) 3c503.o $(LIBS)

ne.com:		$(UTILS) $(START).o $(OBJS) ne.o $(LIBS)

3c509.com:	$(UTILS) $(START).o $(OBJS) 3c509.o $(LIBS)
