#########################################################################
#       Make Sure Bourne Shell is Used                                  #
#########################################################################
SHELL =		/bin/sh

#########################################################################
#       Application Specific Defines                                    #
#########################################################################
MAIN =		TikTok
ICON_TEXT =	"TikTok"
APP_ID =	DAP2
APP_TYPE =	'appl'
DIST_FILES =	$(MAIN_PRC) README.htm
DIST_ALL =	"*.*"
SDK_VER =	palmos3.5

#########################################################################
#       The Architecture Name We're Targeting                           #
#########################################################################
ARCH =		m68k-palmos

#########################################################################
#       Specific Tools                                                  #
#########################################################################
CC =		$(ARCH)-gcc
LK =		$(CC)
OBJRES =	$(ARCH)-obj-res
PILRC =		pilrc
BUILDPRC =	build-prc

#########################################################################
#       Compiler Flags                                                  #
#########################################################################
CCFLAGS =	-O2 -Wall -$(SDK_VER)
LKFLAGS =	$(CCFLAGS)
#CCFLAGS =	-Wall -W -g
PILRCFLAGS =	-q

#########################################################################
#       Some File Management Macros                                     #
#########################################################################
CD =		cd
DIR =		ls -l
MV =		mv -f
RM =		rm -f
TOUCH =		touch
ZIP =		pkzip -expr
#ZIP =		c:/progra~1/winzip/wzzip -ex

#########################################################################
#       File & Location Defines                                         #
#########################################################################
OBJ_DIR =	obj
SRC_DIR =	src

BIN_RES =	$(OBJ_DIR)/bin.res
MAIN_C =	$(SRC_DIR)/$(MAIN).c
MAIN_GRC =	$(OBJ_DIR)/code0001.$(MAIN).grc
MAIN_H =	$(SRC_DIR)/$(MAIN).h
MAIN_O =	$(OBJ_DIR)/$(MAIN).o
MAIN_PRC =	$(MAIN).prc
MAIN_RCP =	$(SRC_DIR)/$(MAIN).rcp
MAIN_RCH =	$(SRC_DIR)/$(MAIN).rch
OBJ_MAIN =	$(OBJ_DIR)/$(MAIN)
DIST =		$(MAIN).zip
DIST_SRC =	$(MAIN)Source.zip

#########################################################################
#       Makefile Targets                                                #
#########################################################################
all: $(MAIN_PRC)

$(MAIN_PRC): $(MAIN_GRC) $(BIN_RES)
	($(CD) $(OBJ_DIR) ; \
	 $(BUILDPRC) -o ../$(MAIN_PRC) -n $(ICON_TEXT) -c $(APP_ID) \
			-t $(APP_TYPE) *.grc *.bin)
	$(DIR) $(MAIN_PRC)

$(MAIN_GRC): $(OBJ_MAIN)
	($(CD) $(OBJ_DIR) ; $(OBJRES) $(MAIN))

$(OBJ_MAIN): $(MAIN_O)
	$(LK) $(LKFLAGS)    $(MAIN_O) -o $(OBJ_DIR)/$(MAIN)

$(MAIN_O): $(MAIN_C) $(MAIN_H)
	$(CC) $(CCFLAGS) -c $(MAIN_C) -o $(MAIN_O)

$(BIN_RES): $(MAIN_RCP) $(MAIN_H)
	($(CD) $(SRC_DIR) ; $(PILRC) $(PILRCFLAGS) $(MAIN).rcp ../$(OBJ_DIR))
	$(TOUCH) $(BIN_RES)

tidy:
	($(CD) $(OBJ_DIR) ; $(RM) $(MAIN) *.bin *.grc *.o *.res)
	$(RM) $(DIST)
	$(RM) $(DIST_SRC)

clean: tidy
	$(RM) $(MAIN_PRC)

force: clean all

dist: all
	$(ZIP) $(DIST) $(DIST_FILES)
	$(ZIP) $(DIST_SRC) $(DIST_ALL)
