##
## Makefile for KRSNAke
##

all: /KRSNAke /KRSNAkePrefs /Libs/krsnake.library /Clients/HallOfFame /Clients/ActionReplay /Catalogs/norsk/krsnake.catalog /Catalogs/kewl/krsnake.catalog /Catalogs/pce/krsnake.catalog Catalogs/blank.ct

KRSNAkeCat.e: Catalogs/krsnake.cd
    Echo "*E[32mBuilding KRSNAkeCat.e...*E[31m"
    flexcat Catalogs/krsnake.cd KRSNAkeCat.e=E32a.sd

Catalogs/blank.ct: Catalogs/krsnake.cd
    Echo "*E[32mBuilding Catalogs/blank.ct...*E[31m"
    flexcat Catalogs/krsnake.cd NEWCTFILE Catalogs/blank.ct

/Catalogs/norsk/krsnake.catalog: Catalogs/krsnake.cd Catalogs/norsk.ct
    Echo "*E[32mCreating norwegian catalog file...*E[31m"
    flexcat Catalogs/krsnake.cd Catalogs/norsk.ct NEWCTFILE Catalogs/norsk.ct
    flexcat Catalogs/krsnake.cd Catalogs/norsk.ct CATALOG /Catalogs/norsk/krsnake.catalog
    copy /Catalogs/norsk/krsnake.catalog LOCALE:Catalogs/norsk/krsnake.catalog

/Catalogs/kewl/krsnake.catalog: Catalogs/krsnake.cd Catalogs/kewl.ct
    Echo "*E[32mCreating KeWL catalog file...*E[31m"
    flexcat Catalogs/krsnake.cd Catalogs/kewl.ct NEWCTFILE Catalogs/kewl.ct
    flexcat Catalogs/krsnake.cd Catalogs/kewl.ct CATALOG /Catalogs/kewl/krsnake.catalog
    copy /Catalogs/kewl/krsnake.catalog LOCALE:Catalogs/kewl/krsnake.catalog

/Catalogs/pce/krsnake.catalog: Catalogs/krsnake.cd Catalogs/pce.ct
    Echo "*E[32mCreating politically correct catalog file...*E[31m"
    flexcat Catalogs/krsnake.cd Catalogs/pce.ct NEWCTFILE Catalogs/pce.ct
    flexcat Catalogs/krsnake.cd Catalogs/pce.ct CATALOG /Catalogs/pce/krsnake.catalog
    copy /Catalogs/pce/krsnake.catalog LOCALE:Catalogs/pce/krsnake.catalog

KRSNAkeCat.m: KRSNAkeCat.e
    Echo "*E[32mCompiling KRSNAkeCat.e...*E[31m"
    ec opti KRSNAkeCat.e

/KRSNAke: KRSNAke.e EModules/krsnake.m EModules/libraries/krsnake.m KRSNAkeCat.m graphic.m tiledbitmap.m createpath.m
    Echo "*E[32mCompiling KRSNAke.e...*E[31m"
    ec opti KRSNAke
    copy <>NIL: KRSNAke /
    delete <>NIL: KRSNAke

/KRSNAkePrefs: KRSNAkePrefs.e KRSNAkeCat.m tiledbitmap.m
    Echo "*E[32mCompiling KRSNAkePrefs.e...*E[31m"
    ec opti KRSNAkePrefs
    copy <>NIL: KRSNAkePrefs /
    delete <>NIL: KRSNAkePrefs

/Clients/HallOfFame: HallOfFame.e KRSNAkeCat.m EModules/krsnake.m createpath.m
    Echo "*E[32mCompiling HallOfFame.e...*E[31m"
    ec opti HallOfFame
    copy <>NIL: HallOfFame /Clients/
    delete <>NIL: HallOfFame

/Clients/ActionReplay: ActionReplay.e KRSNAkeCat.m EModules/krsnake.m tiledbitmap.m createpath.m graphic.m
    Echo "*E[32mCompiling ActionReplay.e...*E[31m"
    ec opti ActionReplay
    copy <>NIL: ActionReplay /Clients/
    delete <>NIL: ActionReplay

##
## Build the support modules
##

graphic.m: graphic.e
    Echo "*E[32mCompiling graphic.e...*E[31m"
    ec opti graphic.e

tiledbitmap.m: tiledbitmap.e
    Echo "*E[32mCompiling tiledbitmap.e...*E[31m"
    ec opti tiledbitmap.e

createpath.m: createpath.e
    Echo "*E[32mCompiling createpath.e...*E[31m"
    ec opti createpath.e

##
## Build the library, module and FD file
##

/Libs/krsnake.library: KRSNAkeLib.e createpath.m
    Echo "*E[32mCompiling KRSNAkeLib.e...*E[31m"
    ec opti KRSNAkeLib.e
    copy <>NIL: krsnake.library /Libs/krsnake.library
    delete <>NIL: krsnake.library
    copy <>NIL: krsnake.m EModules/
    delete <>NIL: krsnake.m
    Echo "*E[32mBuilding FD/KRSNAke_lib.fd...*E[31m"
    showmodule >t:krsnake.fd -c EModules/krsnake.m
    sploin <>NIL: t:krsnake.fd t:urk1 t:krsnake_lib.fd -s -o132 -r
    copy <>NIL: t:krsnake_lib.fd FD/
    delete <>NIL: t:krsnake.fd t:urk1 t:krsnake_lib.fd

EModules/krsnake.m: KRSNAkeLib.e createpath.m
    Echo "*E[32mBuilding EModules/krsnake.m...*E[31m"
    ec opti KRSNAkeLib.e
    delete <>NIL: krsnake.library
    copy <>NIL: krsnake.m EModules/
    delete <>NIL: krsnake.m

