This commit is contained in:
Brad Nelson
2024-01-01 15:50:27 -08:00
parent b8f4a7b3c4
commit a69961d90d
9 changed files with 91 additions and 80 deletions

View File

@ -15,40 +15,46 @@
Alias('windows', 'win32 win64')
# Create boot.
Importation('gen/windows_boot.h', '$src/windows/windows_boot.fs',
Importation('$dst/gen/windows_boot.h', '$src/windows/windows_boot.fs',
header_mode='win', name='boot')
Importation('gen/windows_boot_extra.h', '$src/windows/windows_boot_extra.fs',
Importation('$dst/gen/windows_boot_extra.h', '$src/windows/windows_boot_extra.fs',
header_mode='win', name='boot_extra')
# Compile Win32.
Alias('win32', ' '.join([
ForthTest('tests/win32_all_tests.out', 'windows/uEf32.exe', '$src/common/all_tests.fs',
ForthTest('$dst/tests/win32_all_tests.out',
'$dst/windows/uEf32.exe', '$src/common/all_tests.fs',
interp='wine'),
]))
CompileW32('windows/uEf32.obj', '$src/windows/main.c',
implicit=['gen/windows_boot.h', 'gen/windows_boot_extra.h'])
LinkW32('windows/uEf32.exe',
' '.join(['windows/uEf32.obj', 'resources/ueforth_res32.res']))
CompileW32('$dst/windows/uEf32.obj', '$src/windows/main.c',
implicit=['$dst/gen/windows_boot.h',
'$dst/gen/windows_boot_extra.h'])
LinkW32('$dst/windows/uEf32.exe',
' '.join(['$dst/windows/uEf32.obj',
'$dst/resources/ueforth_res32.res']))
# Compile Win64.
Alias('win64', ' '.join([
ForthTest('tests/win64_all_tests.out', 'windows/uEf64.exe', '$src/common/all_tests.fs',
ForthTest('$dst/tests/win64_all_tests.out',
'$dst/windows/uEf64.exe', '$src/common/all_tests.fs',
interp='wine'),
]))
CompileW64('windows/uEf64.obj', '$src/windows/main.c',
implicit=['gen/windows_boot.h', 'gen/windows_boot_extra.h'])
LinkW64('windows/uEf64.exe',
' '.join(['windows/uEf64.obj', 'resources/ueforth_res64.res']))
CompileW64('$dst/windows/uEf64.obj', '$src/windows/main.c',
implicit=['$dst/gen/windows_boot.h',
'$dst/gen/windows_boot_extra.h'])
LinkW64('$dst/windows/uEf64.exe',
' '.join(['$dst/windows/uEf64.obj',
'$dst/resources/ueforth_res64.res']))
# Create icon.
ICON_SIZES = [
ResizeImage('resources/eforth16x16.png', '$src/images/eforth.png', '16x16'),
ResizeImage('resources/eforth32x32.png', '$src/images/eforth.png', '32x32'),
ResizeImage('resources/eforth48x48.png', '$src/images/eforth.png', '48x48'),
ResizeImage('resources/eforth256x256.png', '$src/images/eforth.png', '256x256'),
ResizeImage('$dst/resources/eforth16x16.png', '$src/images/eforth.png', '16x16'),
ResizeImage('$dst/resources/eforth32x32.png', '$src/images/eforth.png', '32x32'),
ResizeImage('$dst/resources/eforth48x48.png', '$src/images/eforth.png', '48x48'),
ResizeImage('$dst/resources/eforth256x256.png', '$src/images/eforth.png', '256x256'),
]
ConvertImage('resources/eforth.ico', ' '.join(ICON_SIZES))
CompileResource32('resources/ueforth_res32.res', '$src/windows/ueforth.rc',
implicit=['resources/eforth.ico'])
CompileResource64('resources/ueforth_res64.res', '$src/windows/ueforth.rc',
implicit=['resources/eforth.ico'])
ConvertImage('$dst/resources/eforth.ico', ' '.join(ICON_SIZES))
CompileResource32('$dst/resources/ueforth_res32.res', '$src/windows/ueforth.rc',
implicit=['$dst/resources/eforth.ico'])
CompileResource64('$dst/resources/ueforth_res64.res', '$src/windows/ueforth.rc',
implicit=['$dst/resources/eforth.ico'])