.silent:

!if exists( deps )
!else
! if [ mkdep32 *.c >deps ]
! endif
!endif

!if "$(BUILD)"==""
!message Defaulting BUILD to DEBUG
BUILD=DEBUG
!endif

!if "$(LANG)"==""
!message Defaulting LANG to ENGLISH
LANG=ENGLISH
!endif

!if "$(LANG)"=="FRENCH"
PILOG_COUNTRY=COUNTRY_FRANCE
PILOT_LANG=LANGUAGE_FRENCH
!else if "$(LANG)"=="GERMAN"
PILOG_COUNTRY=COUNTRY_GERMANY
PILOT_LANG=LANGUAGE_GERMAN
!else
PILOG_COUNTRY=COUNTRY_UNITED_STATES
PILOT_LANG=LANGUAGE_ENGLISH
!endif

PROJECT = LaunchPad
APPID   = LcPd
OUT     = OUTPUT

OBJS = $(OUT)\LaunchPad.obj \
        $(OUT)\About.obj \
        $(OUT)\AppMan.obj \
        $(OUT)\Database.obj \
        $(OUT)\MainForm.obj \
        $(OUT)\Prefs.obj \
        $(OUT)\TabForms.obj \
        $(OUT)\TabMan.obj \
        $(OUT)\WinMan.obj
RESS =
LIBS =

DEFCOPTS = -O2 -Wall -W -fno-inline-functions -Wlarger-than-32 -Wcast-align \
           -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls \
           -fno-unroll-loops -fno-builtin \
           -DMEMORY_FORCE_LOCK=MEMORY_FORCE_LOCK_ON \
           -DCMD_LINE_BUILD \
           -DCOUNTRY=PILOT_COUNTRY -DLANGUAGE=PILOT_LANG
DEFLOPTS = -O2 -Wall -W

!if "$(BUILD)"=="DEBUG"
COPTS = $(DEFCOPTS) -DERROR_CHECK_LEVEL=ERROR_CHECK_FULL -D_DEBUG=1 -g3
LOPTS = $(DEFLOPTS) -g3
!else
COPTS = $(DEFCOPTS) -DERROR_CHECK_LEVEL=ERROR_CHECK_NONE -DNDEBUG=1 \
        -fstrength-reduce -frerun-cse-after-loop -fexpensive-optimizations \
        -fomit-frame-pointer
LOPTS = $(DEFLOPTS)
!endif

CC = m68k-palmos-coff-gcc
LK = m68k-palmos-coff-gcc
STRIP = m68k-palmos-coff-strip

{}.c{$(OUT)}.obj:
  echo --- Compiling $(*B).c
  $(CC) $(COPTS) -c -o $(OUT)\$(*B).obj $<

All: $(OUT) $(OUT)\$(PROJECT).prc

$(OUT):
  mkdir $(OUT)

$(OUT)\$(PROJECT).prc: $(OUT)\$(PROJECT) $(OUT)\bin.res $(OUT)\code0005.Hack.grc
  echo --- Building $(PROJECT).prc
  cd $(OUT)
  build-prc $(PROJECT).prc $(PROJECT) $(APPID) \
    code0001.$(PROJECT).grc code0000.$(PROJECT).grc \
    code0005.hack.grc \
    data0000.$(PROJECT).grc \
    *bin \
    pref0000.$(PROJECT).grc
  cd $(MAKEDIR)

$(OUT)\code0005.hack.grc: hack.c
  echo --- Building hack resource
  $(CC) $(COPTS) hack.c -c -o $(OUT)\hack.obj
  $(LK) $(LOPTS) -nostartfiles -o $(OUT)\hack $(OUT)\hack.obj
  $(STRIP) $(OUT)\hack
  cd $(OUT)
  m68k-palmos-coff-obj-res hack
  if exist code0005.hack.grc del code0005.hack.grc
  ren code0001.hack.grc code0005.hack.grc
  cd $(MAKEDIR)

$(OUT)\$(PROJECT): $(OBJS) $(RESS)
  echo --- Building $(PROJECT)
  $(LK) $(LOPTS) -o $(OUT)\$(PROJECT) $(LIBS) $(OBJS) $(RESS)
!if "$(BUILD)" != "DEBUG"
  $(STRIP) $(OUT)\$(PROJECT)
!endif
  cd $(OUT)
  m68k-palmos-coff-obj-res $(PROJECT)
  cd $(MAKEDIR)

$(OUT)\bin.res: $(PROJECT).rcp *bin *bmp
  echo --- Compiling resources
  pilrc -q -L $(LANG) $(PROJECT).rcp $(OUT)
  copy *bin $(OUT)
#  touch $(OUT)\bin.res

!include "deps"


