# X-Files

CCOPTS		= -c -depend !Depend -IC: -throwback -zM -fah
RMLINKOPTS	= -rmf -o $@
LINKOPTS	= -aif -o $@
OAOPTS		= -throwback -depend !Depend
CMHGOPTS	=

all: @.x-files @.!WebFS.WebFS @.RMOneOf @.!WebFS.RMOneOf

.suffixes: .o .c .cmhg .s

.c.o:
	cc $(CCOPTS) -o $@ $<
.s.o:
	objasm $(OAOPTS) -from $< -to $@
.cmhg.o:
	cmhg $(CMHGOPTS) $< -o $@

@.RMOneOf:		@.o.RMOneOf c:o.stubs
	link $(LINKOPTS)	@.o.rmOneOf c:o.stubs

@.!WebFS.RMOneOf:		@.o.RMOneOf c:o.stubs
	link $(LINKOPTS)	@.o.rmOneOf c:o.stubs

@.!WebFS.WebFS:	@.o.cache @.o.chunks @.o.compact @.o.debug @.o.fs @.o.list @.o.module @.o.errors \
				@.o.rminfo @.o.veneer @.o.rm_wfs c:o.stubs
	link $(RMLINKOPTS)	@.o.cache @.o.chunks @.o.compact @.o.debug @.o.fs @.o.list @.o.module \
						@.o.errors @.o.rminfo @.o.veneer @.o.rm_wfs c:o.stubs

@.x-files:		@.o.chunks @.o.module @.o.errors c:o.stubs @.o.rminfo @.o.veneer @.o.rm @.o.debug @.o.fs @.o.compact \
				@.o.cache @.o.list
	link $(RMLINKOPTS)	@.o.chunks @.o.module @.o.errors c:o.stubs @.o.rminfo @.o.veneer @.o.rm @.o.debug @.o.fs \
						@.o.compact @.o.cache @.o.list

# Dynamic dependencies:
o.errors: s.errors
o.rminfo: s.rminfo
o.veneer: s.veneer
o.cache:	c.cache
o.cache:	h.chunks
o.cache:	C:h.kernel
o.cache:	h.debug
o.cache:	h.module
o.cache:	C:h.kernel
o.cache:	C:h.swis
o.chunks:	c.chunks
o.chunks:	h.chunks
o.chunks:	C:h.kernel
o.chunks:	h.debug
o.chunks:	C:h.swis
o.compact:	c.compact
o.compact:	h.chunks
o.compact:	C:h.kernel
o.compact:	h.debug
o.compact:	C:h.swis
o.debug:	c.debug
o.debug:	h.debug
o.debug:	C:h.kernel
o.fs:	c.fs
o.fs:	h.chunks
o.fs:	C:h.kernel
o.fs:	h.debug
o.fs:	C:h.swis
o.list:	c.list
o.list:	h.chunks
o.list:	C:h.kernel
o.module:	c.module
o.module:	h.module
o.module:	C:h.kernel
o.module:	C:h.kernel
o.module:	C:h.swis
o.module:	h.chunks
o.module:	C:h.kernel
o.module:	h.fshook
o.module:	C:h.kernel
o.RMOneOf:	c.RMOneOf
o.RMOneOf:	C:h.kernel
o.RMOneOf:	C:h.swis
