2023-02-16 01:46:22 +00:00
# This file is part of the 9086 project.
#
# Copyright (c) 2023 Efthymios Kritikos
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program 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
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
SYSTEM_VVP = system/system.vvp
2023-03-04 08:37:43 +00:00
VERILATOR_BIN = system/obj_dir/Vsystem
2023-02-25 01:42:09 +00:00
BOOT_CODE = boot_code/brainfuck_mandelbrot.txt
2023-02-16 01:46:22 +00:00
GTKWSAVE = ./gtkwave_savefile.gtkw
2023-02-22 01:28:23 +00:00
MICROCODE = system/ucode.txt
2023-03-03 19:36:28 +00:00
BOOTABLES = boot_code/brainfuck_compiled.txt boot_code/brainfuck_interpreted.txt ${ BOOT_CODE }
2023-02-16 01:46:22 +00:00
2023-03-08 07:26:28 +00:00
shim :
@echo The processor\' s output handling is being rewritten so the usual mandelbrot program isn\' t working. please git checkout d93c92c00572d812c76d1b42969741d8cfce8d4d
2023-02-22 01:51:14 +00:00
NO_ASM = 1
2023-02-16 01:46:22 +00:00
i n c l u d e c o m m o n . m k
2023-02-22 01:51:14 +00:00
.PHONY : ${BOOTABLES }
.PHONY : ${subst .txt , .bin , ${BOOTABLES }}
2023-02-16 01:46:22 +00:00
2023-02-22 01:51:14 +00:00
${BOOTABLES} ${subst .txt,.bin,${BOOTABLES}} :
2023-02-16 01:46:22 +00:00
${ Q } make ${ MAKEOPTS } -C boot_code $( subst boot_code/,,$@ )
2023-02-16 23:26:32 +00:00
boot_code/%.txt :
${ Q } make ${ MAKEOPTS } -C boot_code $( subst boot_code/,,$@ )
.PHONY : ${SYSTEM_VVP }
2023-02-16 01:46:22 +00:00
${SYSTEM_VVP} :
${ Q } make ${ MAKEOPTS } -C system system.vvp
2023-03-04 08:37:43 +00:00
.PHONY : ${VERILATOR_BIN }
${VERILATOR_BIN} :
${ Q } make ${ MAKEOPTS } -C system obj_dir/Vsystem
2023-02-16 23:26:32 +00:00
.PHONY : clean
2023-02-16 01:46:22 +00:00
clean :
${ Q } make ${ MAKEOPTS } -C system clean
${ Q } make ${ MAKEOPTS } -C boot_code clean