#
#	Makefile for the socket device, on which MiNT-Net is based.
#

include ../MakeVars

ifdef XDD
DEVDRV = sockdev.xdd
XCPPFLAGS = -DXDD
XLDFLAGS = -nostdlib -G
XSRCS = init.c
XOBJS = init.o
else
DEVDRV = sockdev.tos
endif

CPPFLAGS = -I../include $(XCPPFLAGS)
CFLAGS = $(COPTS) -Wall -mshort -O2 -fomit-frame-pointer
LDFLAGS = $(XLDFLAGS)

SRCS = $(XSRCS) main.c sockdev.c sockutil.c iov.c dummydev.c
OBJS = $(XOBJS) main.o sockdev.o sockutil.o iov.o dummydev.o

SUBDIRS = unix inet
DOMAINS = unix/sock.a inet/sock.a

all: $(DEVDRV) driv

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

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

$(DEVDRV): $(OBJS) subs
	$(LD) $(LDFLAGS) $(OBJS) $(DOMAINS) -l$(LIBC16) -o $(DEVDRV)
	$(TOGLSUPER) $(DEVDRV)
	chmod +x $(DEVDRV)

subs:
	@for i in $(SUBDIRS); do $(MAKE) -C $$i; done;


driv:
	$(MAKE) -C drivers

install: $(DEVDRV)
	$(INSTALL) $(XDDMODE) $(DEVDRV) $(BOOTDIR)
	$(MAKE) -C drivers install

clean:
	rm -f $(OBJS)
	@for i in $(SUBDIRS); do $(MAKE) -C $$i clean; done;

depend:
	$(CC) -MM $(CPPFLAGS) *.c > depend
	@for i in $(SUBDIRS); do $(MAKE) -C $$i depend; done;

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