MODNAME=	bullet
VERSION=	38
REMOTE=		V$(VERSION):src/workbench/libs/bullet
LD_FILE=	$(MODNAME).ld
LD_STRIP=	$(MODNAME).ld.strip

DEBUG=		-dDEBUG
DEBUG=
DEBUGLIB=	LIB:debug.lib
DEBUGLIB=
SYSINCL=	-i include:
CFLAGS=		-. -b1 -csw $(DEBUG) -ma -O -r -v
AFLAGS=		-cfvqrsy $(SYSINCL)

EXTERNIFILES=	diskfonttag.i glyph.i oterrors.i
EXTERNHFILES=	diskfonttag.h glyph.h oterrors.h

.asm.o:
		@echo "$*.asm"
		@casm -a $*.asm $(AFLAGS) -o $*.o
.o.o2:
		Tools/chaos o $*.o2 $*.o

.rev.i .rev.h:
		Tools/autorev $(VERSION) $* < <
		$*.rev $?
		<

SFILES=		bold.c cache.c cgif.c comp_pix.c fc.c \
		fm.c fmath.c if.c if_init.c ital.c ix.c \
		maker.c mem.c metrics.c nxt_pt.c \
		q3.c raster.c skeletal.c yclass.c \
		interface.c \
		adj_skel.h cache.h cgconfig.h cgif.h debug.h \
		fmath.h if_type.h imath.h istypes.h ix.h port.h \
		profile.h segments.h tr_type.h \
		diskfonttag.h oterrors.h \
		fill.asm imath.asm margin.asm pixel_al.asm \
		library.asm math.asm endtag.asm residenttag.asm bldata.i \
		bullet_lib.sfd lmkfile uc.input \
		Test/test.c Tools/chaos.c Tools/autorev.c Tools/makeuc.c \

O1FILES=	bold.o cache.o cgif.o comp_pix.o fc.o \
		fm.o fmath.o if.o if_init.o ital.o ix.o \
		maker.o mem.o metrics.o nxt_pt.o \
		q3.o raster.o skeletal.o yclass.o \
		interface.o

O2FILES=	bold.o2 cache.o2 cgif.o2 comp_pix.o2 fc.o2 \
		fm.o2 fmath.o2 if.o2 if_init.o2 ital.o2 ix.o2 \
		maker.o2 mem.o2 metrics.o2 nxt_pt.o2 \
		q3.o2 raster.o2 skeletal.o2 yclass.o2 \
		interface.o2

OFILES=		fill.o imath.o margin.o pixel_al.o \
		library.o math.o chaos.o

all:		if.uc $(LD_STRIP)

if.uc:		uc.input
		Tools/makeuc uc.input if.uc

$(LD_STRIP):	$(LD_FILE)
		blink from $(LD_FILE) to $(LD_STRIP) nodebug quiet

$(LD_FILE):	$(OFILES) $(O2FILES) endtag.o residenttag.o
		blink <WITH <
		residenttag.o $(OFILES) $(O2FILES) endtag.o
		TO $(LD_FILE)
		LIB lib:lc.lib lib:lcm.lib lib:amiga.lib
		$(DEBUGLIB)
		BATCH BUFSIZE 1024 SMALLCODE SMALLDATA
		MAP bullet.map,f,h,l,s,x
		<

bullet_rev.h bullet_rev.i: bullet_rev.rev $(OFILES) $(O2FILES) endtag.o

bullet_rev.rev:
		echo >bullet_rev.rev 0

chaos.asm:	$(O1FILES)
		Tools/chaos 8 chaos.asm < <
		$(O1FILES)
		<

fill.o:		fill.asm
imath.o:	imath.asm
margin.o:	margin.asm
pixel_al.o:	pixel_al.asm

library.o:	library.asm
chaos.o:	chaos.asm
math.o:		math.asm
endtag.o:	endtag.asm
residenttag.o:	residenttag.asm bullet_rev.i

bold.o:		bold.c port.h debug.h
cache.o:	cache.c port.h debug.h cgif.h
cgif.o:		cgif.c port.h debug.h cgif.h
comp_pix.o:	comp_pix.c port.h debug.h cgif.h
fc.o:		fc.c port.h debug.h cgif.h
fm.o:		fm.c port.h debug.h cgif.h
fmath.o:	fmath.c port.h debug.h
if.o:		if.c port.h debug.h cgif.h
if_init.o:	if_init.c port.h debug.h cgif.h
ital.o:		ital.c port.h debug.h
ix.o:		ix.c port.h debug.h cgif.h
maker.o:	maker.c port.h debug.h cgif.h
mem.o:		mem.c port.h debug.h cgif.h
metrics.o:	metrics.c port.h debug.h cgif.h
nxt_pt.o:	nxt_pt.c port.h debug.h
q3.o:		q3.c port.h debug.h
raster.o:	raster.c port.h debug.h
skeletal.o:	skeletal.c port.h debug.h
yclass.o:	yclass.c port.h debug.h
interface.o:	interface.c port.h debug.h cgif.h

bold.o2:	bold.o
cache.o2:	cache.o
cgif.o2:	cgif.o
comp_pix.o2:	comp_pix.o
fc.o2:		fc.o
fm.o2:		fm.o
fmath.o2:	fmath.o
if.o2:		if.o
if_init.o2:	if_init.o
ital.o2:	ital.o
ix.o2:		ix.o
maker.o2:	maker.o
mem.o2:		mem.o
metrics.o2:	metrics.o
nxt_pt.o2:	nxt_pt.o
q3.o2:		q3.o
raster.o2:	raster.o
skeletal.o2:	skeletal.o
yclass.o2:	yclass.o
interface.o2:	interface.o

archive.tar:	$(SFILES)
		tar cfvT archive.tar archive.src
		copy archive.tar kodiak:bullet nopro

version:
		-bumprev $(VERSION) $(MODNAME)_rev

##############################################################################
# Build autodoc
#
doc:	$(MODNAME).doc

$(MODNAME).doc:	interface.c
	@Echo "Making $(MODNAME).doc"
	@AutoDoc >$(MODNAME).doc -a -C -s -l78 interface.c
	@Protect $(MODNAME).doc +rwd


##############################################################################
# Release the current build to the server...
#
internal:
	@Delete $(REMOTE)/((\#?.(c|h|asm|i|ld|rev|doc|library))|lmkfile)
	@protect ((\#?.(c|h|asm|i|ld|rev|doc))|lmkfile|$(LD_STRIP)) +r quiet
	@copy ((\#?.(c|h|asm|i|rev|doc|sfd|ld|ld.\#?))|makefile|lmkfile) $(REMOTE)

##############################################################################
# Release public includes, docs, sfd to server
#
headers:
	
	@copy $(EXTERNIFILES) $(EXTERNHFILES) TO V$(VERSION):include/diskfont
	@copy $(MODNAME).doc V$(VERSION):doc NOPRO
	@copy $(MODNAME)_lib.sfd V$(VERSION):lib/sfd NOPRO

install:
		-flushlibs
		copy $(LD_STRIP) libs:$(MODNAME).library
