#
#	Makefile for MintNet loadable network interfaces
#

include ../../MakeVars

CPPFLAGS = -I../../include -I../inet
CFLAGS = -O2 -Wall -fomit-frame-pointer -mshort
LDFLAGS = -nostdlib

COMMON_SRCS = init.s main.c
COMMON_OBJS = init.o main.o

OSLIP_SRCS = oslip.c osl0.c osl0asm.s
OSLIP_OBJS = oslip.o osl0.o osl0asm.o

SLIP_SRCS = slip.c serial.c ppp.c slcompress.c
SLIP_OBJS = slip.o serial.o ppp.o slcompress.o

PLIP_SRCS = plip.c pl0.c pl0asm.s
PLIP_OBJS = plip.o pl0.o pl0asm.o

DUMMY_SRCS = dummyeth.c
DUMMY_OBJS = dummyeth.o

SRCS = $(COMMON_SRCS) $(OSLIP_SRCS) $(SLIP_SRCS) $(PLIP_SRCS) $(DUMMY_SRCS)
OBJS = $(COMMON_OBJS) $(OSLIP_OBJS) $(SLIP_OBJS) $(PLIP_OBJS) $(DUMMY_OBJS)

DRIVERS = oslip.xif slip.xif plip.xif dummy.xif

all: $(DRIVERS)


.s.o:
	$(CC) -c $< -o $@


#
# DON'T comment the toglclr -super out!! The drivers memory must be
# supervisor accessible.
#

oslip.xif: $(COMMON_OBJS) $(OSLIP_OBJS)
	$(LD) $(LDFLAGS) $(COMMON_OBJS) $(OSLIP_OBJS) -lgnu16 -o $@
	toglclr -super $@

slip.xif:  $(COMMON_OBJS) $(SLIP_OBJS)
	$(LD) $(LDFLAGS) $(COMMON_OBJS) $(SLIP_OBJS) -lgnu16 -o $@
	toglclr -super $@

plip.xif:  $(COMMON_OBJS) $(PLIP_OBJS)
	$(LD) $(LDFLAGS) $(COMMON_OBJS) $(PLIP_OBJS) -lgnu16 -o $@
	toglclr -super $@

dummy.xif: $(COMMON_OBJS) $(DUMMY_OBJS)
	$(LD) $(LDFLAGS) $(COMMON_OBJS) $(DUMMY_OBJS) -lgnu16 -o $@
	toglclr -super $@

install:
	$(INSTALL) $(XIFMODE) $(DRIVERS) $(BOOTDIR)

clean:
	rm -f $(OBJS)

depend:
	$(CC) -MM $(CPPFLAGS) *.c > depend

ifeq (depend, $(wildcard depend))
include depend
endif
