xwords/franklin/Makefile
2005-07-09 15:25:51 +00:00

166 lines
4.1 KiB
Makefile

# -*- mode: Makefile; compile-command: "make -k ARCH=i686"; -*-
# ©2001 Franklin Electronic Publishers, Inc. Burlington, NJ.
# File: gui/test/Makefile
#
PLATFORM = franklin
COMMON = ../common
ifndef ARCH
$(error "Franklin builds require the environment variable ARCH. ")
endif
XW_DEFINES = -DPLATFORM_EBOOK -DPOINTER_SUPPORT -DKEY_SUPPORT -DSHOW_PROGRESS \
-DXWFEATURE_STANDALONE_ONLY -DFEATURE_TRAY_EDIT -DXWFEATURE_SEARCHLIMIT \
-DNODE_CAN_4 -DUSE_PATTERNS -D__LITTLE_ENDIAN
include ../common/config.mk
APPNAME = xwords4
# Define the list of source files
SRCS_CPP = frankdraw.cpp \
frankmain.cpp \
franksavedgames.cpp \
frankask.cpp \
frankgamesdb.cpp \
frankpasswd.cpp \
frankshowtext.cpp \
frankdict.cpp \
frankletter.cpp \
frankplayer.cpp \
frankdlist.cpp
SRCS_C =
SRCS_S =
# Program parameters (ebo_locate needs 12K of stack)
#HEAPSPACE = 98304
HEAPSPACE = 409600 # 0x64000
MAINSTACKSPACE = 16384
TIMERSTACKSPACE = 4096
# Environment: Use "yes" or "no"
GUI_LOCAL_COPY = no
OS_LOCAL_COPY = no
LANG_LOCAL_COPY = no
GUI_LANGUAGE = GUI_Amr.pkg
OS_BASEDIR = ../../../os
GUI_BASEDIR = ../source
#To prevent warnings from stopping the compilation, change the following line
#to "ERROR=" or start the make using "make ERROR=".
ERROR = -Werror
OBJS = ${COMMONOBJ}
# Include the standard Makefile targets
ifeq (x$(EBSDK_LIBS)x,xx)
# Normal: binary release version
include ${EBOOKMAN_SDK}/ebsdk.uses
include ${ESDK_TARGET_INC}/Makefile.GUI
else
# Special: building the SDK
include ${EBSDK_LIBS}/ebookman_libs.uses
include ../source/Makefile.GUI
endif
#
# At this point in the Makefile, you can put overrides for variables that
# were set in "Makefile.GUI".
#
#Create linkable version of VoiceAge file
#${OBJDIR}/objects.link: welcome.voiceage
#welcome.voiceage: welcome.seb
# tail -c+4097 <welcome.seb >welcome.voiceage
#CLEANLIST += welcome.voiceage
#Need this for an os1 link of a program that uses floating-point
#GCC_LIB = ${ESDK_LIBGCC_INSTALL_LIBFILE_FLOAT}
INCFLAGS += -I$(COMMON) -I../relay -I./
CFLAGS += ${XW_DEFINES} -DCPLUS
CFL_NOCPLUS = $(subst -DCPLUS,,${CFLAGS})
CLEANLIST += ${COMMONOBJ}
# dependencies for image generation
BMPS = ./bmps
frankmain.cpp: bmps_includes.h
$(BMPS)/%.cpp: $(BMPS)/%.pbitm
./pbitm2frank.pl $< $* > $@
GENIMGS = $(BMPS)/flip.cpp \
$(BMPS)/lightbulb.cpp \
$(BMPS)/valuebutton.cpp \
$(BMPS)/undo.cpp \
# listing the .cpp files here as dependencies should be all that's
# needed to get them generated.
bmps_includes.h: $(GENIMGS)
@echo "/* This file generated in Makefile; do not edit!!! */" > $@
for f in $^; do echo "#include \"$$f\"" >> $@; done
#
# Generic rules for invoking the compiler and assembler. Stolen from
# Makefile.GUI
#
${COMMONOBJDIR}/%.s :: ${COMMON}/%.c
${ESDK_GCC32_EXE} -b sneak32 -g $(CFL_NOCPLUS) -mclist -S -o $@ -c $<
${COMMONOBJDIR}/%.i :: ${COMMON}/%.c
${ESDK_GCC32_EXE} -b sneak32 -g $(CFL_NOCPLUS) -mclist -E -o $@ -c $<
${COMMONOBJDIR}/%.i :: ${COMMON}/%.cpp
${ESDK_GXX32_EXE} -b sneak32 -g $(CFLAGS) -mclist -E -o $@ -c $<
${COMMONOBJDIR}/%.s :: ${COMMON}/%.cpp
${ESDK_GXX32_EXE} -b sneak32 -g $(CFLAGS) -mclist -S -o $@ -c $<
${COMMONOBJDIR}/%.o :: ${COMMON}/%.cpp
${ESDK_GXX32_EXE} -b sneak32 -g $(CFLAGS) -o $@ -c $<
${COMMONOBJDIR}/%.o :: ${COMMON}/%.c
${ESDK_GCC32_EXE} -b sneak32 -g $(CFL_NOCPLUS) -o $@ -c $<
${COMMONOBJDIR}/%.o :: ${COMMONOBJDIR}/%.s
${ESDK_ASM32_EXE} -case ${INCFLAGS} -po ${COMMONOBJDIR} -o $<
# Targets to allow build without copying lots of files in. First has
# hack to force directory creation
os.link os.def standalone.link:
mkdir -p ../common/franklin
ln -s $$(find $${EBOOKMAN_SDK} -follow -name $@ | grep gui) $@
# get rid of the welcome crap
libraries.link:
cat $$(find $${EBOOKMAN_SDK} -follow -name $@ | grep gui) | \
grep -v Welcome > $@
#
# The following targets are usable only during SDK creation. They are for
# copying this directory to samples/gui/test.
#
build: os sa
configure:
do_install_out: build
mkdir -p ${ELIB_GUI_INSTALL_SAMPLE_TESTDIR}
(tar cf - . | (cd ${ELIB_GUI_INSTALL_SAMPLE_TESTDIR} && tar xf -))
memdebug:
$(MAKE) "XW_DEFINES = ${XW_DEFINES} -DMEM_DEBUG -DDEBUG"
test:
echo ${OBJS}