LIBFILES = titraxDB.c titraxPref.c projectList.c clearXXXX.c titraxUtil.c

LIBOBJS = titraxDB.o titraxPref.o projectList.o clearXXXX.o titraxUtil.o

FILES = titrax.c mainForm.c datedb.c \
	noteForm.c editForm.c timeForm.c \
	drawDigits.c shiftForm.c optionForm.c

OBJS = titrax.o mainForm.o datedb.o \
	noteForm.o editForm.o timeForm.o \
	drawDigits.o shiftForm.o optionForm.o

TOOLDIR=/usr/local/pilot/bin

CC = $(TOOLDIR)/m68k-palmos-coff-gcc
AR = $(TOOLDIR)/m68k-palmos-coff-ar
EXPORTLIST = $(TOOLDIR)/m68k-palmos-coff-exportlist
STUBGEN = $(TOOLDIR)/m68k-palmos-coff-stubgen

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

INCLUDES =  -I ../PalmOS2 \
-I../PalmOS2/UI -I../PalmOS2/System -I../PalmOS2/Hardware

CSFLAGS = -O2 -S $(DEFINES) $(INCLUDES)
CFLAGS = -O2 $(DEFINES) $(INCLUDES) -Wall
#CFLAGS = $(DEFINES) $(INCLUDES) -Wall -g

LIBS = -L../$(LIBCDIR) -L../$(LIBGLIBDIR) -L.

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

ICONTEXT = "Titrax"
APPID = Ttrx
PRC = titrax.prc

LIBNAME = libtitrax
STATICLIB = $(LIBNAME).a
STATICLIB_EXPORTLIST = $(LIBNAME).export
STATICSTUB = $(LIBNAME)stub.c
STATICSTUBOBJ = $(LIBNAME)stub.o
SHAREDSTUB = $(LIBNAME).S
SHAREDLIB_OBJ = $(LIBNAME).so
SHAREDLIB = $(LIBNAME).prc
STATICSTUBLIB = $(LIBNAME).sa

all: lib $(PRC) $(OBJS) .depend

$(STATICLIB): $(LIBOBJS)
	$(AR) rcs $(STATICLIB) $(LIBOBJS)

$(STATICLIB_EXPORTLIST): $(STATICLIB)
	$(EXPORTLIST) $(STATICLIB) > $(STATICLIB_EXPORTLIST)

$(STATICSTUB) $(SHAREDSTUB): $(STATICLIB_EXPORTLIST)
	$(STUBGEN) "Titrax Library" $(APPID) $(STATICSTUB) $(SHAREDSTUB) < $(STATICLIB_EXPORTLIST)

$(SHAREDLIB_OBJ): $(SHAREDSTUB) $(STATICSTUB) $(STATICLIB)
	$(CC) -shared -o $(SHAREDLIB_OBJ) $(SHAREDSTUB) $(STATICLIB)

$(STATICSTUBLIB): $(STATICSTUB)
	$(CC) -c $(STATICSTUB) -o $(STATICSTUBOBJ)
	$(AR) rcs $(STATICSTUBLIB) $(STATICSTUBOBJ)

$(SHAREDLIB): $(SHAREDLIB_OBJ) $(STATICSTUBLIB)
	$(OBJRES) -l $(SHAREDLIB_OBJ)
	$(BUILDPRC) -l $(SHAREDLIB) "Titrax Library" $(APPID) \
	GLib0000.$(SHAREDLIB_OBJ).grc \
	data0000.$(SHAREDLIB_OBJ).grc \
	rloc0000.$(SHAREDLIB_OBJ).grc

lib: $(STATICLIB) $(SHAREDLIB)

depend:
	$(CC) -MM $(FILES) >.depend

.depend:
	$(CC) -MM $(FILES) >.depend


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

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

$(PRC): code.stamp bin.stamp
	$(BUILDPRC) $@ $(ICONTEXT) $(APPID) *.titrax.grc *.bin

code.stamp: titrax
	$(OBJRES) titrax
	touch code.stamp

bin.stamp: titrax.rcp titrax.h
	$(PILRC) titrax.rcp
	touch bin.stamp

titrax: $(OBJS) $(STATICSTUBLIB)
	$(CC) $(CFLAGS) $(OBJS) $(LIBS) -o $@ -ltitrax

clean:
	-rm $(STATICLIB) $(STATICLIB_EXPORTLIST) $(STATICSTUB) $(STATICSTUBOBJ) \
	$(SHAREDSTUB) $(SHAREDLIB_OBJ) $(STATICSTUBLIB) $(OBJS) $(LIBOBJS) titrax \
	*.bin *.stamp *.grc

distclean:
	-rm $(STATICLIB) $(STATICLIB_EXPORTLIST) $(STATICSTUB) $(STATICSTUBOBJ) \
	$(SHAREDSTUB) $(SHAREDLIB_OBJ) $(STATICSTUBLIB) $(OBJS) $(LIBOBJS) titrax \
	*.bin *.stamp *.grc *.prc .depend

-include .depend

