mirror of
https://github.com/InvisibleUp/uvmac.git
synced 2024-11-26 03:49:19 +00:00
291 lines
8.1 KiB
OpenEdge ABL
291 lines
8.1 KiB
OpenEdge ABL
|
/*
|
||
|
SPFILDEF.i
|
||
|
Copyright (C) 2012 Paul C. Pratt
|
||
|
|
||
|
You can redistribute this file and/or modify it under the terms
|
||
|
of version 2 of the GNU General Public License as published by
|
||
|
the Free Software Foundation. You should have received a copy
|
||
|
of the license along with this file; see the file COPYING.
|
||
|
|
||
|
This file is distributed in the hope that it will be useful,
|
||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
license for more details.
|
||
|
*/
|
||
|
|
||
|
/*
|
||
|
program SPecific FILe DEFinitions
|
||
|
*/
|
||
|
|
||
|
|
||
|
|
||
|
/* --- list of source files --- */
|
||
|
|
||
|
static void DoMYOSGLUEdepends(tDoOneDepends p)
|
||
|
{
|
||
|
{
|
||
|
char *s = nullpr;
|
||
|
|
||
|
switch (gbo_lang) {
|
||
|
case gbk_lang_eng:
|
||
|
s = "STRCNENG.h";
|
||
|
break;
|
||
|
case gbk_lang_fre:
|
||
|
s = "STRCNFRE.h";
|
||
|
break;
|
||
|
case gbk_lang_ita:
|
||
|
s = "STRCNITA.h";
|
||
|
break;
|
||
|
case gbk_lang_ger:
|
||
|
s = "STRCNGER.h";
|
||
|
break;
|
||
|
case gbk_lang_dut:
|
||
|
s = "STRCNDUT.h";
|
||
|
break;
|
||
|
case gbk_lang_spa:
|
||
|
s = "STRCNSPA.h";
|
||
|
break;
|
||
|
case gbk_lang_pol:
|
||
|
s = "STRCNPOL.h";
|
||
|
break;
|
||
|
case gbk_lang_ptb:
|
||
|
s = "STRCNPTB.h";
|
||
|
break;
|
||
|
case gbk_lang_cat:
|
||
|
s = "STRCNCAT.h";
|
||
|
break;
|
||
|
case gbk_lang_cze:
|
||
|
s = "STRCNCZE.h";
|
||
|
break;
|
||
|
case gbk_lang_srl:
|
||
|
s = "STRCNSRL.h";
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
if (nullpr != s) {
|
||
|
p(kDepDirCSrc, s);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
p(kDepDirCnfg, "STRCONST.h");
|
||
|
p(kDepDirCSrc, "INTLCHAR.h");
|
||
|
p(kDepDirCSrc, "COMOSGLU.h");
|
||
|
if (WantLocalTalk) {
|
||
|
p(kDepDirCSrc, "BPFILTER.h");
|
||
|
}
|
||
|
if (WantAltKeysMode) {
|
||
|
p(kDepDirCSrc, "ALTKEYSM.h");
|
||
|
}
|
||
|
p(kDepDirCSrc, "CONTROLM.h");
|
||
|
if (gbk_sndapi_none != gbo_sndapi) {
|
||
|
{
|
||
|
char *s = nullpr;
|
||
|
|
||
|
switch (gbo_sndapi) {
|
||
|
case gbk_sndapi_alsa:
|
||
|
s = "SGLUALSA.h";
|
||
|
break;
|
||
|
case gbk_sndapi_ddsp:
|
||
|
s = "SGLUDDSP.h";
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
if (nullpr != s) {
|
||
|
p(kDepDirCSrc, s);
|
||
|
}
|
||
|
}
|
||
|
p(kDepDirCnfg, "SOUNDGLU.h");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
static void DoMINEM68Kdepends(tDoOneDepends p)
|
||
|
{
|
||
|
if (cur_mIIorIIX) {
|
||
|
p(kDepDirCSrc, "FPMATHEM.h");
|
||
|
p(kDepDirCSrc, "FPCPEMDV.h");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
static void DoROMEMDEVdepends(tDoOneDepends p)
|
||
|
{
|
||
|
if (NeedScrnHack) {
|
||
|
p(kDepDirCSrc, "SCRNHACK.h");
|
||
|
}
|
||
|
if (gbk_AHM_none != cur_AltHappyMac) {
|
||
|
p(kDepDirCSrc, "HPMCHACK.h");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
static void DoAllSrcFiles(tDoOneCFile p)
|
||
|
{
|
||
|
blnr WantSCRNMAPR = (gbk_apifam_osx == gbo_apifam)
|
||
|
|| (gbk_apifam_mac == gbo_apifam)
|
||
|
|| (gbk_apifam_cco == gbo_apifam)
|
||
|
|| (gbk_apifam_xwn == gbo_apifam)
|
||
|
|| (gbk_apifam_sdl == gbo_apifam)
|
||
|
|| (gbk_apifam_sd2 == gbo_apifam);
|
||
|
blnr WantSCRNTRNS = WantSCRNMAPR && (cur_ScrnDpth != 0);
|
||
|
|
||
|
p("CNFGRAPI", kDepDirCnfg, kCSrcFlgmNoSource, nullpr);
|
||
|
p("CNFGGLOB", kDepDirCnfg, kCSrcFlgmNoSource, nullpr);
|
||
|
p("SYSDEPNS", kDepDirCSrc, kCSrcFlgmNoSource, nullpr);
|
||
|
p("ENDIANAC", kDepDirCSrc, kCSrcFlgmNoSource, nullpr);
|
||
|
p("MYOSGLUE", kDepDirCSrc, kCSrcFlgmNoSource, nullpr);
|
||
|
|
||
|
p("STRCNENG", kDepDirCSrc,
|
||
|
CSrcFlagsUseHdrIf(gbk_lang_eng == gbo_lang), nullpr);
|
||
|
p("STRCNFRE", kDepDirCSrc,
|
||
|
CSrcFlagsUseHdrIf(gbk_lang_fre == gbo_lang), nullpr);
|
||
|
p("STRCNITA", kDepDirCSrc,
|
||
|
CSrcFlagsUseHdrIf(gbk_lang_ita == gbo_lang), nullpr);
|
||
|
p("STRCNGER", kDepDirCSrc,
|
||
|
CSrcFlagsUseHdrIf(gbk_lang_ger == gbo_lang), nullpr);
|
||
|
p("STRCNDUT", kDepDirCSrc,
|
||
|
CSrcFlagsUseHdrIf(gbk_lang_dut == gbo_lang), nullpr);
|
||
|
p("STRCNSPA", kDepDirCSrc,
|
||
|
CSrcFlagsUseHdrIf(gbk_lang_spa == gbo_lang), nullpr);
|
||
|
p("STRCNPOL", kDepDirCSrc,
|
||
|
CSrcFlagsUseHdrIf(gbk_lang_pol == gbo_lang), nullpr);
|
||
|
p("STRCNPTB", kDepDirCSrc,
|
||
|
CSrcFlagsUseHdrIf(gbk_lang_ptb == gbo_lang), nullpr);
|
||
|
p("STRCNCAT", kDepDirCSrc,
|
||
|
CSrcFlagsUseHdrIf(gbk_lang_cat == gbo_lang), nullpr);
|
||
|
p("STRCNCZE", kDepDirCSrc,
|
||
|
CSrcFlagsUseHdrIf(gbk_lang_cze == gbo_lang), nullpr);
|
||
|
p("STRCNSRL", kDepDirCSrc,
|
||
|
CSrcFlagsUseHdrIf(gbk_lang_srl == gbo_lang), nullpr);
|
||
|
|
||
|
p("STRCONST", kDepDirCnfg, kCSrcFlgmNoSource, nullpr);
|
||
|
p("INTLCHAR", kDepDirCSrc, kCSrcFlgmNoSource, nullpr);
|
||
|
p("COMOSGLU", kDepDirCSrc, kCSrcFlgmNoSource, nullpr);
|
||
|
p("BPFILTER", kDepDirCSrc,
|
||
|
CSrcFlagsUseHdrIf(WantLocalTalk), nullpr);
|
||
|
p("ALTKEYSM", kDepDirCSrc,
|
||
|
CSrcFlagsUseHdrIf(WantAltKeysMode), nullpr);
|
||
|
p("ACTVCODE", kDepDirCSrc,
|
||
|
CSrcFlagsUseHdrIf(WantActvCode), nullpr);
|
||
|
p("CONTROLM", kDepDirCSrc, kCSrcFlgmNoSource, nullpr);
|
||
|
p("PBUFSTDC", kDepDirCSrc,
|
||
|
CSrcFlagsUseHdrIf((gbk_apifam_xwn == gbo_apifam)
|
||
|
|| (gbk_apifam_sd2 == gbo_apifam)
|
||
|
|| (gbk_apifam_sdl == gbo_apifam)
|
||
|
),
|
||
|
nullpr);
|
||
|
p("SCRNMAPR", kDepDirCSrc,
|
||
|
CSrcFlagsUseHdrIf(WantSCRNMAPR), nullpr);
|
||
|
p("SCRNTRNS", kDepDirCSrc,
|
||
|
CSrcFlagsUseHdrIf(WantSCRNTRNS), nullpr);
|
||
|
p("DATE2SEC", kDepDirCSrc, kCSrcFlgmNoSource, nullpr);
|
||
|
|
||
|
p("SGLUALSA", kDepDirCSrc,
|
||
|
CSrcFlagsUseHdrIf(gbk_sndapi_alsa == gbo_sndapi), nullpr);
|
||
|
p("SGLUDDSP", kDepDirCSrc,
|
||
|
CSrcFlagsUseHdrIf(gbk_sndapi_ddsp == gbo_sndapi), nullpr);
|
||
|
|
||
|
p("SOUNDGLU", kDepDirCnfg,
|
||
|
CSrcFlagsUseHdrIf(gbk_sndapi_none != gbo_sndapi), nullpr);
|
||
|
|
||
|
p("OSGLUMAC", kDepDirCSrc,
|
||
|
kCSrcFlgmUseAPI
|
||
|
| CSrcFlagsUseSrcIf(gbk_apifam_mac == gbo_apifam),
|
||
|
DoMYOSGLUEdepends);
|
||
|
p("OSGLUOSX", kDepDirCSrc,
|
||
|
kCSrcFlgmUseAPI
|
||
|
| CSrcFlagsUseSrcIf(gbk_apifam_osx == gbo_apifam),
|
||
|
DoMYOSGLUEdepends);
|
||
|
p("OSGLUWIN", kDepDirCSrc,
|
||
|
kCSrcFlgmUseAPI
|
||
|
| CSrcFlagsUseSrcIf(gbk_apifam_win == gbo_apifam),
|
||
|
DoMYOSGLUEdepends);
|
||
|
p("OSGLUXWN", kDepDirCSrc,
|
||
|
kCSrcFlgmUseAPI
|
||
|
| CSrcFlagsUseSrcIf(gbk_apifam_xwn == gbo_apifam),
|
||
|
DoMYOSGLUEdepends);
|
||
|
p("OSGLUNDS", kDepDirCSrc,
|
||
|
kCSrcFlgmUseAPI
|
||
|
| CSrcFlagsUseSrcIf(gbk_apifam_nds == gbo_apifam),
|
||
|
DoMYOSGLUEdepends);
|
||
|
p("OSGLUGTK", kDepDirCSrc,
|
||
|
kCSrcFlgmUseAPI
|
||
|
| CSrcFlagsUseSrcIf(gbk_apifam_gtk == gbo_apifam),
|
||
|
DoMYOSGLUEdepends);
|
||
|
p("OSGLUSDL", kDepDirCSrc,
|
||
|
kCSrcFlgmUseAPI
|
||
|
| CSrcFlagsUseSrcIf(gbk_apifam_sdl == gbo_apifam),
|
||
|
DoMYOSGLUEdepends);
|
||
|
p("OSGLUSD2", kDepDirCSrc,
|
||
|
kCSrcFlgmUseAPI
|
||
|
| CSrcFlagsUseSrcIf(gbk_apifam_sd2 == gbo_apifam),
|
||
|
DoMYOSGLUEdepends);
|
||
|
p("OSGLUCCO", kDepDirCSrc,
|
||
|
kCSrcFlgmUseAPI | kCSrcFlgmOjbc
|
||
|
| CSrcFlagsUseSrcIf(gbk_apifam_cco == gbo_apifam),
|
||
|
DoMYOSGLUEdepends);
|
||
|
|
||
|
p("EMCONFIG", kDepDirCnfg, kCSrcFlgmNoSource, nullpr);
|
||
|
p("GLOBGLUE", kDepDirCSrc, kCSrcFlgmNone, nullpr);
|
||
|
p("M68KITAB", kDepDirCSrc, kCSrcFlgmNone, nullpr);
|
||
|
p("DISAM68K", kDepDirCSrc, CSrcFlagsUseIf(WantDisasm), nullpr);
|
||
|
p("FPMATHEM", kDepDirCSrc,
|
||
|
CSrcFlagsUseHdrIf(cur_mIIorIIX),
|
||
|
nullpr);
|
||
|
p("FPCPEMDV", kDepDirCSrc,
|
||
|
CSrcFlagsUseHdrIf(cur_mIIorIIX),
|
||
|
nullpr);
|
||
|
|
||
|
p("MINEM68K", kDepDirCSrc, kCSrcFlgmSortFirst, DoMINEM68Kdepends);
|
||
|
/*
|
||
|
Put the most speed critical part of the
|
||
|
program first, to help ensure consistent
|
||
|
alignment for it, regardless of changes
|
||
|
to rest of program.
|
||
|
Speed can depend subtly, basically
|
||
|
randomly, on how code is aligned.
|
||
|
*/
|
||
|
|
||
|
p("VIAEMDEV", kDepDirCSrc, kCSrcFlgmNone, nullpr);
|
||
|
p("VIA2EMDV", kDepDirCSrc, CSrcFlagsUseIf(EmVIA2), nullpr);
|
||
|
p("IWMEMDEV", kDepDirCSrc, kCSrcFlgmNone, nullpr);
|
||
|
p("SCCEMDEV", kDepDirCSrc, kCSrcFlgmNone, nullpr);
|
||
|
p("RTCEMDEV", kDepDirCSrc, CSrcFlagsUseIf(EmRTC), nullpr);
|
||
|
p("SCRNHACK", kDepDirCSrc,
|
||
|
CSrcFlagsUseHdrIf(NeedScrnHack), nullpr);
|
||
|
p("HPMCHACK", kDepDirCSrc,
|
||
|
CSrcFlagsUseHdrIf(gbk_AHM_none != cur_AltHappyMac), nullpr);
|
||
|
p("ROMEMDEV", kDepDirCSrc, kCSrcFlgmNone, DoROMEMDEVdepends);
|
||
|
p("SCSIEMDV", kDepDirCSrc, kCSrcFlgmNone, nullpr);
|
||
|
p("SONYEMDV", kDepDirCSrc, kCSrcFlgmNone, nullpr);
|
||
|
p("SCRNEMDV", kDepDirCSrc, kCSrcFlgmNone, nullpr);
|
||
|
p("VIDEMDEV", kDepDirCSrc, CSrcFlagsUseIf(EmVidCard), nullpr);
|
||
|
p("MOUSEMDV", kDepDirCSrc, kCSrcFlgmNone, nullpr);
|
||
|
p("KBRDEMDV", kDepDirCSrc, CSrcFlagsUseIf(EmClassicKbrd), nullpr);
|
||
|
p("ADBSHARE", kDepDirCSrc,
|
||
|
CSrcFlagsUseHdrIf(cur_mdl >= gbk_mdl_SE), nullpr);
|
||
|
p("ADBEMDEV", kDepDirCSrc, CSrcFlagsUseIf(EmADB), nullpr);
|
||
|
p("PMUEMDEV", kDepDirCSrc, CSrcFlagsUseIf(EmPMU), nullpr);
|
||
|
p("ASCEMDEV", kDepDirCSrc, CSrcFlagsUseIf(EmASC), nullpr);
|
||
|
p("SNDEMDEV", kDepDirCSrc,
|
||
|
CSrcFlagsUseIf((! EmASC) && (gbk_mdl_PB100 != cur_mdl)
|
||
|
&& MySoundEnabled),
|
||
|
nullpr);
|
||
|
p("PROGMAIN", kDepDirCSrc, kCSrcFlgmNone, nullpr);
|
||
|
}
|
||
|
|
||
|
/* --- list of document types --- */
|
||
|
|
||
|
static void WriteRomExtensions(tWriteOneExtension p)
|
||
|
{
|
||
|
p("rom");
|
||
|
}
|
||
|
|
||
|
static void WriteDskExtensions(tWriteOneExtension p)
|
||
|
{
|
||
|
p("dsk");
|
||
|
}
|
||
|
|
||
|
static void DoAllDocTypes(tWriteOneDocType p)
|
||
|
{
|
||
|
p("ROM", "ROM!", "Rom image", WriteRomExtensions);
|
||
|
p("DSK", "MvIm", "Disk image", WriteDskExtensions);
|
||
|
}
|