#
#  Makefile for Mulg II
#

OBJS = mulg.o hole.o scarab.o

CC = m68k-palmos-gcc

CSFLAGS = -O2 -S

CFLAGS = -palmos3.5 -O2 -fomit-frame-pointer -DOS35HDR $(XINCS)

PILRC = pilrc
OBJRES = m68k-palmos-obj-res
BUILDPRC = build-prc

ICONTEXT = "Mulg"
APPID = Mulg

PALM = /dev/palmv

all: mulg.prc g_mulg.prc c_mulg.prc

makelevel.c: makelevel.y ml_lex.c
	bison -o makelevel.c makelevel.y

ml_lex.c: makelevel.lex
	flex -oml_lex.c makelevel.lex

makelevel: makelevel.c
	gcc -g -o makelevel makelevel.c

%.pdb: %.lev makelevel tiles.h level.h
	makelevel $<

mulg.o: mulg.c rsc.h tiles.h mulg.h tilt.h scarab.c

win2.o: win2.c

win4.o: win4.c

tiles/gray2/tile0000.bin:
	cd tiles; make gray2/tile0000.bin

tiles/gray4/tile0000.bin:
	cd tiles; make gray4/tile0000.bin

tiles/color/tile0000.bin:
	cd tiles; make color/tile0000.bin

level.o: level.c tiles.h hole.h

.S.o:
	$(CC) $(TARGETFLAGS) -c $<

.c.s:
	$(CC) $(CSFLAGS) $<

installv: mulg.prc
	pilot-xfer -p /dev/palmv -i mulg.prc

install: mulg.prc
	pilot-xfer -p /dev/pilot -i mulg.prc

mulg.prc: res.stamp obj.stamp tiles/gray2/tile0000.bin
	cp rsc_bw/*.bin .
	$(BUILDPRC) mulg.prc $(ICONTEXT) $(APPID) *.mulg.grc *.bin tiles/gray2/tile0000.bin

g_mulg.prc: res.stamp g_obj.stamp tiles/gray4/tile0000.bin
	cp rsc_bw/*.bin .
	$(BUILDPRC) g_mulg.prc $(ICONTEXT) $(APPID) *.g_mulg.grc *.bin tiles/gray4/tile0000.bin

c_mulg.prc: res.stamp c_obj.stamp tiles/color/tile0000.bin
	cp rsc_col/*.bin .
	$(BUILDPRC) c_mulg.prc $(ICONTEXT) $(APPID) *.c_mulg.grc *.bin tiles/color/tile0000.bin

obj.stamp: mulg
	$(OBJRES) mulg
	touch obj.stamp

g_obj.stamp: g_mulg
	$(OBJRES) g_mulg
	touch g_obj.stamp

c_obj.stamp: c_mulg
	$(OBJRES) c_mulg
	touch c_obj.stamp

res.stamp: mulg.rcp rsc.h
	rm -rf rsc_bw rsc_col
	mkdir rsc_bw
	mkdir rsc_col
	$(PILRC) mulg.rcp rsc_bw
	cp rsc_bw/*.bin rsc_col
	mv -f rsc_col/Tbmp0001.bin rsc_col/Tbmp0c45.bin
	mv -f rsc_col/Tbmp0002.bin rsc_col/tAIB03e8.bin
	rm -f */Tbmp000?.bin
	touch res.stamp

mulg: $(OBJS) win2.o
	$(CC) $(CFLAGS) $(OBJS) win2.o -o mulg

g_mulg: $(OBJS) win4.o
	$(CC) $(CFLAGS) $(OBJS) win4.o -o g_mulg

winc.o:  tiles/coltab.h

c_mulg: $(OBJS) winc.o
	$(CC) $(CFLAGS) $(OBJS) winc.o -o c_mulg

clean:
	rm -rf *.[oa] mulg c_mulg g_mulg *.bin *.stamp *.grc *~ 
	rm -rf convbin ml_lex.c makelevel makelevel.c core .xvpics
	rm -rf rsc_col rsc_bw *.psf
	cd tiles; make clean

dist:
	rm -rf ../mulg*.zip
	make mulg.prc g_mulg.prc c_mulg.prc
	zip  ../mulg_prc.zip c_mulg.prc g_mulg.prc mulg.prc mulg.pdb mulg2.pdb mulg3.pdb readme.txt COPYING
	make clean
	cd ..; zip mulg2.zip -r mulg

disk:
	make dist
	mcopy -o ../mulg*.zip a:

www:
	make dist
	scp ../mulg*.zip bodotill@suburbia.com.au:/mnt/hdb4/home/b/bodotill/www/mulg

srcdisk:
	make clean
	cd ..; zip mulg2.zip -r mulg
	mcopy -o ../mulg2.zip a:


