CPP=/usr1/gnu/DIST/lib/gcc-cpp
CPPFLAGS=-I. -I/usr1/gnu/DIST/include
CC=gcc
CFLAGS=-O
AS=as
LDFLAGS=-e __start
VPATH=.:i386
LIBDIR=/usr1/gnu/DIST/lib

OBJS =	boot_printf.o 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

all: bootstrap

install: all
	cp bootstrap /usr1/gnu/DIST/libexec/bootstrap

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

bootstrap: $(OBJS)
	ld -z -o bootstrap $(LDFLAGS) $(OBJS) $(LIBS)

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


MIG = 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 \
		/usr1/gnu/DIST/include/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 \
		/usr1/gnu/DIST/include/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 \
		/usr1/gnu/DIST/include/mach/default_pager_object.defs

./mach:
	mkdir $@

