49 lines
1.6 KiB
Makefile
49 lines
1.6 KiB
Makefile
#----------------------------------------------------------------------------#
|
|
# GNU GPL OS/K #
|
|
# #
|
|
# Authors: spectral` #
|
|
# NeoX #
|
|
# #
|
|
# Desc: Project Makefile #
|
|
#----------------------------------------------------------------------------#
|
|
|
|
kernel:
|
|
cpp ./Makefile.in > build/Makefile.out
|
|
python ./build/idttool.py
|
|
make kernel -f build/Makefile.out.2
|
|
rm build/Makefile.out build/Makefile.out.2
|
|
|
|
kernel-asm:
|
|
cpp -D_TO_ASM ./Makefile.in > build/Makefile.out
|
|
python ./build/idttool.py
|
|
make kernel -f build/Makefile.out.2
|
|
rm build/Makefile.out build/Makefile.out.2
|
|
|
|
tests:
|
|
cpp -D_TESTS ./Makefile.in > build/Makefile.out
|
|
python ./build/idttool.py
|
|
make tests -f build/Makefile.out.2
|
|
rm build/Makefile.out build/Makefile.out.2
|
|
|
|
ASM=nasm
|
|
ASMFLAGS=
|
|
BOOTFLAGS=-f bin
|
|
|
|
MBRDIR=boot/mbr
|
|
LOADERDIR=boot/loader
|
|
OBJDIR=build/obj
|
|
BINDIR=build/bin
|
|
|
|
boot.mbr.asm: $(MBRDIR)/mbr.asm $(MBRDIR)/mbr.inc
|
|
$(ASM) $(BOOTFLAGS) $(MBRDIR)/mbr.asm -o $(OBJDIR)/boot/mbr.bin
|
|
|
|
boot.loader.asm: $(LOADERDIR)/loader.asm
|
|
$(ASM) $(BOOTFLAGS) $(LOADERDIR)/loader.asm -o $(OBJDIR)/boot/loader.bin
|
|
|
|
bootloader: boot.mbr.asm boot.loader.asm
|
|
cp $(OBJDIR)/boot/mbr.bin $(BINDIR)/mbr.bin
|
|
cp $(OBJDIR)/boot/loader.bin $(BINDIR)/loader.bin
|
|
|
|
all: bootloader kernel
|
|
|