CPP=/usr/local/lib/gcc-lib/pc532-mach/2.2.2/cpp
CPPFLAGS=-I. -I/usr/local/pc532-mach/DIST/include
CC=gcc32k
CFLAGS=-O
AS=as32k
LDFLAGS=-e __start
VPATH=.:ns532
LIBDIR=/usr/local/pc532-mach/DIST/lib
INCDIR=/usr/local/pc532-mach/DIST/include

OBJS =	bootstrap.o def_pager_setup.o default_pager.o \
	exec.o file_io.o kalloc.o load.o strfcns.o wiring.o

LIBS = $(LIBDIR)/libthreads.a $(LIBDIR)/libmach_sa.a

CRT0 = $(LIBDIR)/crt0.o

all: bootstrap

install: all
	cp bootstrap /usr/local/pc532-mach/DIST/libexec/bootstrap

clean:
	rm -f bootstrap *.o mach/* 
	-rmdir mach

bootstrap: $(OBJS)
	gcc32k -z -o bootstrap $(LDFLAGS) $(CRT0) $(OBJS) $(LIBS)

#default_pager.o: ./mach/memory_object_server.c \
#		./mach/memory_object_default_server.c \
#		./mach/default_pager_object_server.c

MIG = /usr/local/pc532-mach/DIST/bin/mig
MIGOPTS="-DMACH_IPC_COMPAT=0" $(CPPFLAGS)

./mach/memory_object_server.c: ./mach
	${MIG} ${MIGOPTS} -DSEQNOS\
	    -user /dev/null \
	    -server ./mach/memory_object_server.c \
	    -sheader ./mach/memory_object_user.h \
		$(INCDIR)/mach/memory_object.defs

./mach/memory_object_default_server.c: ./mach
	${MIG} ${MIGOPTS} -DSEQNOS\
	    -user /dev/null \
	    -server ./mach/memory_object_default_server.c \
	    -sheader ./mach/memory_object_default.h \
		$(INCDIR)/mach/memory_object_default.defs

./mach/default_pager_object_server.c: ./mach
	${MIG} ${MIGOPTS} \
	    -user /dev/null \
	    -server ./mach/default_pager_object_server.c \
	    -sheader ./mach/default_pager_object.h \
		$(INCDIR)/mach/default_pager_object.defs

./mach:
	mkdir $@

