## Makefile for Convert DA

#
# Set Debug or Release configuration here
#
DEBUG_OR_RELEASE=Debug



APPNAME = "ConvertDA"
CREATOR = "CVDA"
SRC_DIR = src
RSC_DIR = rsc
HEADER  = $(SRC_DIR)/ConvertDA_Rsc.h
TARGET  = ConvertDA

# set output directories
ifeq ($(DEBUG_OR_RELEASE), Debug)
	OBJ_DIR = Debug
else
	OBJ_DIR = Release
endif

TARGET_PRC := $(OBJ_DIR)/$(TARGET).prc
UI_TARGET  := $(OBJ_DIR)/bin.res
UI_FILES   := $(OBJ_DIR)/*.bin
RCP_FILE   := $(RSC_DIR)/$(TARGET).rcp



OBJS		= $(OBJ_DIR)/DAMain.o \
			  $(OBJ_DIR)/ConvertDA.o \
			  $(OBJ_DIR)/ModalForm.o \
			  $(OBJ_DIR)/DraggableModalForm.o \
			  $(OBJ_DIR)/MainForm.o \
			  $(OBJ_DIR)/StringUtility.o \
			  $(OBJ_DIR)/StringConverter.o

LIBS		=

CC			= m68k-palmos-gcc
OBJRES		= m68k-palmos-obj-res
BUILDPRC	= build-prc
PILRC		= pilrc -I .. -I $(SRC_DIR)/ -Fj 

ifeq ($(DEBUG_OR_RELEASE), Debug)
	CFLAGS		= -palmos5r4 -D__PALMOS__=0x05000000 -Wall -g -O0 -DDEBUG
	DBTYPE		= "appl"
	CODE_RSC	= $(OBJ_DIR)/code0001.grc
#				  $(OBJ_DIR)/code0000.grc
else
	CFLAGS		= -palmos5r4 -D__PALMOS__=0x05000000 -Wall -O2
	DBTYPE		= "DAcc"
	CODE_RSC	= $(OBJ_DIR)/code03e8.grc
endif
BUILDPRCFLG	= --no-check-resources



.SUFFIXES: .o .c .cxx .cpp .cc

all: $(OBJ_DIR) $(TARGET_PRC)

# rule to create the object file directories if needed
$(OBJ_DIR):
	@[ -d $(OBJ_DIR) ] || mkdir $(OBJ_DIR) > /dev/null 2>&1


$(TARGET_PRC): $(UI_TARGET) $(CODE_RSC)
	$(BUILDPRC) $(BUILDPRCFLG) -t $(DBTYPE) $(TARGET_PRC) $(APPNAME) $(CREATOR) $(CODE_RSC) $(UI_FILES)

$(CODE_RSC): $(OBJ_DIR)/$(TARGET)
	$(OBJRES) $(OBJ_DIR)/$(TARGET)
	mv code0001.$(TARGET).grc $@
	rm *.$(TARGET).grc

#$(OBJ_DIR)/code%.grc:  $(OBJ_DIR)/$(TARGET)
#	$(OBJRES) $(OBJ_DIR)/$(TARGET)
#	mv code0001.$(TARGET).grc $@
#	rm *.$(TARGET).grc




$(OBJ_DIR)/$(TARGET): $(OBJS)
	$(CC) $(CFLAGS) -nostartfiles $(OBJS) -o $(OBJ_DIR)/$(TARGET) $(LIBS)

$(UI_TARGET): $(RCP_FILE) $(HEADER)
	-rm -f $(OBJ_DIR)/*.bin
	$(PILRC) $(RCP_FILE) $(OBJ_DIR)/
	touch $(UI_TARGET)

$(OBJ_DIR)/%.o : $(SRC_DIR)/%.c
	$(CC) $(CFLAGS) -c $< -o $@

$(OBJ_DIR)/%.o : $(SRC_DIR)/%.cc
	$(CC) $(CFLAGS) -c $< -o $@

$(OBJ_DIR)/%.o : $(SRC_DIR)/%.cxx
	$(CC) $(CFLAGS) -c $< -o $@

$(OBJ_DIR)/%.o : $(SRC_DIR)/%.cpp
	$(CC) $(CFLAGS) -c $< -o $@


$(TARGET).o: $(HEADER)


FORCE:

# Eclipse requires a clean command
# just delete everything in OBJ_DIR and any section files
clean :: FORCE
	-rm -rf $(OBJ_DIR)/*


