TARGET = patience.prc
PROG = patience
ZIP = patience.zip
SRCTAR = patienceSrc.tar.gz
SRCS = aces.c calc.c cards.c golf.c klondike.c montana.c patience.c \
	pdisp.c spider.c spiderette.c tabby.c towers.c yukon.c eight.c \
	canfield.c vegas.c
OBJS = aces.o calc.o cards.o golf.o klondike.o montana.o patience.o \
	pdisp.o spider.o spiderette.o tabby.o towers.o yukon.o eight.o \
	canfield.o vegas.o
HDRS = patience.h cards.h patienceRsc.h
GHDRS = klondike.h spider.h

RES = patienceRsc.rcp
ICON = patience.pbitm

DOC = readme.txt

BUILD = Makefile $(SRCS) $(HDRS) $(GHDRS) $(RES) $(ICON) $(DOC)

RLOC= rloc0000.$(PROG).grc
GRCS = code0000.$(PROG).grc code0001.$(PROG).grc data0000.$(PROG).grc $(RLOC)
PREF= pref0000.$(PROG).grc

PREFIX = /local/PalmOS
TOOLS= $(PREFIX)/bin
#TOOLS= /local/src/prc/prc-tools-0.4.2
CC = $(PREFIX)/bin/m68k-palmos-coff-gcc

#uncomment this if you want to build a gdb debuggable version
#DEFINES = -DDEBUG
DEFINES = -DNDEBUG

CSFLAGS = -O2 -S $(DEFINES)
CFLAGS = -O2 $(DEFINES) -Wall -Wstrict-prototypes -fno-builtin

LIBS = $(LDIR) -lgdb -lc -lmf -lgcc

PILRC = $(TOOLS)/pilrc
TXT2BITM = $(TOOLS)/txt2bitm
OBJRES = $(TOOLS)/obj-res -reloc
#OBJRES = $(TOOLS)/obj-res
BUILDPRC = $(TOOLS)/build-prc

ICONTEXT = "Patience"
APPID = Pati

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

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

all: $(TARGET)

$(ZIP): $(TARGET) $(DOC)
	zip $@ $(TARGET) $(DOC)

$(SRCTAR): $(BUILD)
	tar czf $(SRCTAR) $(BUILD)

$(TARGET): $(GRCS) bin.res
	$(BUILDPRC) $(TARGET) $(ICONTEXT) $(APPID) $(GRCS) \
		*.bin $(PREF)

$(GRCS): $(PROG)
	$(OBJRES) $(PROG)

bin.res: $(RES) $(ICON) patienceRsc.h
	rm -f *.bin
	$(PILRC) $(RES) .
	$(TXT2BITM) $(ICON)
	touch $@

$(PROG): $(OBJS)
	$(CC) -Wl,-M -Wl,-r -Wl,-dc $(CFLAGS) $(OBJS) -o $(PROG) $(LIBS)

$(OBJS): $(HDRS)

spider.o spiderette.o: spider.h
klondike.o vegas.o: klondike.h

clean:
	rm -rf $(OBJS) $(TARGET) $(PROG) *.bin bin.res $(GRCS) $(PREF) $(ZIP) $(SRCTAR)
