в файлах dos16.bat и win32.bat приведены примеры запуска сборки системы используя утилиту MAKE с заданием переменных, определяющих параметры компиляции:
Код:
make CC=bcc MODE=MODE16 OS=DOS16 CPU=I8086 vm.exe EMPTY
pause
vm EMPTY
pause
выполняется компиляция используя Borand C++ 3.1 (компилятор запускается в пакетной режиме из ком.строки), выполняется сборка в 16-битном режиме для DOS, используется платформенно-зависимый код для DOS и процессора 80x86, компилиируются файлы vm.exe и EMPTY.
Код:
make CC=gcc MODE=MODE32 OS=WIN32 CPU=I386 vm.exe EMPTY
pause
vm EMPTY
pause
аналогично компиляция движка с помощью gcc (я использую пакет Dev-C++ v.4 который шел на диске к книге по Си), 32-битный режим работы целевого компилятора, при сборке используется код для win32 и i386.
используя эти примеры, вы легко можете нарисовать варианты сборки для других систем. Более подробно как это все работает видно в Makefile -- чтобы понять не надо знать что-то про MAKE, достаточно иметь программистские мозги, и не полениться просмотреть сам
Makefile:
Код:
vm.exe: vm.cpp
$(CC) -D$(MODE) -D$(OS) -D$(CPU) vm.cpp
EMPTY: $(MODE).4th TC.4th EMPTY.4th
spf4 $(MODE).4th TC.4th EMPTY.4th
строки вида $(VAR) подменяются значениями, передаваемыми при запуске MAKE или переменными среды. Для WinXP набор этих переменных можно посмотреть и отредактировать если залезть Мой компьютер (клик
правой кнопкой)/Свойства/Дополнительно/Переменные среды, в DOSе эти параметры задаются в \autoexec.bat с помощью командЫ set VAR=value, В UNIXе зависит от настроек системы и дистрибутива.
К сожалению я пока имею наработки с плане целевого компилятора, которые могут работать только с SP-FORTH (используется его зависимость от регистра маленькие/большие буквы), но необходимо переписать цк чтобы он на 100% соответствовал стандартам. К сожлению я поленился разобраться как работать со словарями, надеюсь гуру помогут в этом плане через форум.