# $Id: Makefile,v 1.5 1996/08/01 02:16:46 paul Exp $

CC = mcc
LD = ld
LDFLAGS = -M mm.map -dn -e crt_server
LIB = $(MX_LIB)
i = $(MX_INCL)

CFLAGS = -ansi
s = $i/sys
h = $i/minix
a =	mm.h $h/config.h $s/types.h $h/const.h $h/type.h \
	$i/ansi.h $i/fcntl.h $i/unistd.h $h/syslib.h \
	$i/limits.h $i/errno.h const.h type.h proto.h glo.h

obj =	main.o forkexit.o break.o exec.o signal.o getset.o \
	alloc.o utility.o table.o putk.o trace.o 

mm:	$(obj) $(LIB)/head.o $(LIB)/libc.a mm.map
	$(LD) $(LDFLAGS) -o mm.elf $(LIB)/head.o $(obj) $(LIB)/libc.a
	elf2smx -S 10kw mm.elf mm
	rm mm.elf
	@combine
	
clean:
	rm -f $(obj) mm mm.elf mm.map core

mm.map: ../kernel/kernel
	make_map_file <../kernel/kernel >mm.map

alloc.o:	$a
alloc.o:	$h/com.h

break.o:	$a
break.o:	$i/signal.h
break.o:	mproc.h
break.o:	param.h

exec.o:		$a
exec.o:		$s/stat.h
exec.o:		$h/callnr.h
exec.o:		$i/a.out.h
exec.o:		$i/signal.h
exec.o:		mproc.h
exec.o:		param.h

forkexit.o:	$a
forkexit.o:	$s/wait.h
forkexit.o:	$h/callnr.h
forkexit.o:	$i/signal.h
forkexit.o:	mproc.h
forkexit.o:	param.h

getset.o:	$a
getset.o:	$h/callnr.h
getset.o:	$i/signal.h
getset.o:	mproc.h
getset.o:	param.h

main.o:		$a
main.o:		$h/callnr.h
main.o:		$h/com.h
main.o:		$i/signal.h
main.o:		$i/fcntl.h
main.o:		$s/ioctl.h
main.o:		mproc.h
main.o:		param.h

putk.o:		$a
putk.o:		$h/com.h

signal.o:	$a
signal.o:	$s/stat.h
signal.o:	$h/callnr.h
signal.o:	$h/com.h
signal.o:	$i/signal.h
signal.o:	$s/sigcontext.h
signal.o:	$i/string.h
signal.o:	mproc.h
signal.o:	param.h

table.o:	$a
table.o:	$h/callnr.h
table.o:	$i/signal.h
table.o:	mproc.h
table.o:	param.h

trace.o:	$a
trace.o:	$s/ptrace.h
trace.o:	$i/signal.h
trace.o:	mproc.h
trace.o:	param.h

utility.o:	$a
utility.o:	$s/stat.h
utility.o:	$h/callnr.h
utility.o:	$h/com.h
utility.o:	$i/fcntl.h
utility.o:	$i/signal.h
utility.o:	mproc.h
