Evil stuff
This commit is contained in:
parent
5938aa9cfb
commit
7dc4f77a8a
134
src/Makefile
134
src/Makefile
|
@ -7,125 +7,21 @@
|
|||
# Desc: Project Makefile #
|
||||
#----------------------------------------------------------------------------#
|
||||
|
||||
CCNAME="/opt/cross-cc/bin/x86_64-elf-gcc"
|
||||
CC2NAME=gcc
|
||||
COPTIM=-O2
|
||||
CLDSCR=-T kernel.ld
|
||||
CWARNS=-pedantic -Wall -Wextra -Werror
|
||||
CINCLUDES=-isystem./kaleid/include
|
||||
CDEFINES=
|
||||
kernel:
|
||||
cpp ./Makefile.in > Makefile.out
|
||||
python ./idttool.py
|
||||
make kernel -f Makefile.out.2
|
||||
rm Makefile.out Makefile.out.2
|
||||
|
||||
CFLAGS1=-nostdlib -ffreestanding -mcmodel=large
|
||||
CFLAGS2=-mno-red-zone -mno-mmx -mno-sse -mno-sse2
|
||||
CFLAGS=$(CFLAGS1) $(CFLAGS2)
|
||||
kernel-asm:
|
||||
cpp -D_TO_ASM ./Makefile.in > Makefile.out
|
||||
python ./idttool.py
|
||||
make kernel -f Makefile.out.2
|
||||
rm Makefile.out Makefile.out.2
|
||||
|
||||
CC=$(CCNAME) $(COPTIM) $(CWARNS) $(CFLAGS) $(CDEFINES) $(CINCLUDES)
|
||||
KCC=$(CC) -D_OSK_SOURCE -D_KALEID_KERNEL
|
||||
|
||||
ASM=nasm
|
||||
ASMFLAGS=
|
||||
BOOTFLAGS=-f bin
|
||||
|
||||
BINDIR=../bin
|
||||
OBJDIR=../obj
|
||||
|
||||
BOOTDIR=boot
|
||||
COMMDIR=kaleid/common
|
||||
KERNDIR=kaleid/kernel
|
||||
SYSTDIR=kaleid/system
|
||||
LINXDIR=kaleid/common/test
|
||||
INCDIR=kaleid/include
|
||||
|
||||
all: bootloader kernel
|
||||
|
||||
boot.mbr.s: $(BOOTDIR)/mbr.s $(BOOTDIR)/mbr.inc
|
||||
$(ASM) $(BOOTFLAGS) $(BOOTDIR)/mbr.s -o $(OBJDIR)/boot/mbr.bin
|
||||
|
||||
boot.loader.s: $(BOOTDIR)/loader.s
|
||||
$(ASM) $(BOOTFLAGS) $(BOOTDIR)/loader.s -o $(OBJDIR)/boot/loader.bin
|
||||
|
||||
bootloader: boot.mbr.s boot.loader.s
|
||||
cp $(OBJDIR)/boot/mbr.bin $(BINDIR)/mbr.bin
|
||||
cp $(OBJDIR)/boot/loader.bin $(BINDIR)/loader.bin
|
||||
|
||||
#----------------------------------------------------------------------------#
|
||||
# TESTING MAKEFILE
|
||||
|
||||
pseudo_kern:
|
||||
$(ASM) $(BOOTFLAGS) $(BOOTDIR)/pseudo_kernel.s -o $(OBJDIR)/boot/pkernel.bin
|
||||
|
||||
testing: bootloader pseudo_kern
|
||||
cat $(BINDIR)/bootloader.bin $(OBJDIR)/boot/pkernel.bin > $(BINDIR)/boot.bin
|
||||
|
||||
#----------------------------------------------------------------------------#
|
||||
# COMMON MAKEFILE
|
||||
|
||||
COBJDIR=$(OBJDIR)/$(COMMDIR)
|
||||
LOBJDIR=$(OBJDIR)/$(LINXDIR)
|
||||
|
||||
#COMMDEPS=$(COMMDIR)/common.h $(COMMDIR)/stdlib.h $(KERNDIR)/config.h
|
||||
COMMDEPS=$(INCDIR)/kaleid.h $(INCDIR)/kaldefs.h $(INCDIR)/kaltypes.h \
|
||||
$(INCDIR)/kalmask.h $(INCDIR)/kalmask.h $(INCDIR)/kalassrt.h
|
||||
|
||||
COMMSRCS=$(COMMDIR)/string.c $(COMMDIR)/status.c $(COMMDIR)/rand.c \
|
||||
$(COMMDIR)/convert.c $(COMMDIR)/memory.c $(COMMDIR)/arith.c
|
||||
|
||||
COMMOBJS=$(COBJDIR)/string.o $(COBJDIR)/status.o $(COBJDIR)/rand.o \
|
||||
$(COBJDIR)/memory.o $(COBJDIR)/arith.o \
|
||||
$(COBJDIR)/itoa.o $(COBJDIR)/ltoa.o $(COBJDIR)/utoa.o $(COBJDIR)/ultoa.o
|
||||
|
||||
comm-convert:
|
||||
$(KCC) -c $(COMMDIR)/convert.c -D_NEED_ITOA -o $(COBJDIR)/itoa.o
|
||||
$(KCC) -c $(COMMDIR)/convert.c -D_NEED_LTOA -o $(COBJDIR)/ltoa.o
|
||||
$(KCC) -c $(COMMDIR)/convert.c -D_NEED_UTOA -o $(COBJDIR)/utoa.o
|
||||
$(KCC) -c $(COMMDIR)/convert.c -D_NEED_ULTOA -o $(COBJDIR)/ultoa.o
|
||||
|
||||
common: $(COMMDEPS) $(COMMSRCS) comm-convert
|
||||
$(KCC) -c $(COMMDIR)/rand.c -o $(COBJDIR)/rand.o
|
||||
$(KCC) -c $(COMMDIR)/arith.c -o $(COBJDIR)/arith.o
|
||||
$(KCC) -c $(COMMDIR)/string.c -o $(COBJDIR)/string.o
|
||||
$(KCC) -c $(COMMDIR)/status.c -o $(COBJDIR)/status.o
|
||||
$(KCC) -c $(COMMDIR)/memory.c -o $(COBJDIR)/memory.o
|
||||
|
||||
CCC=$(CC2NAME) $(COPTIM) $(CWARNS) $(CINCLUDES)
|
||||
|
||||
tests-comm-convert:
|
||||
$(CCC) -c $(COMMDIR)/convert.c -D_NEED_ITOA -o $(COBJDIR)/itoa.o
|
||||
$(CCC) -c $(COMMDIR)/convert.c -D_NEED_LTOA -o $(COBJDIR)/ltoa.o
|
||||
$(CCC) -c $(COMMDIR)/convert.c -D_NEED_UTOA -o $(COBJDIR)/utoa.o
|
||||
$(CCC) -c $(COMMDIR)/convert.c -D_NEED_ULTOA -o $(COBJDIR)/ultoa.o
|
||||
|
||||
tests: $(COMMSRCS) tests-comm-convert
|
||||
$(CCC) -c $(COMMDIR)/rand.c -o $(COBJDIR)/rand.o
|
||||
$(CCC) -c $(COMMDIR)/arith.c -o $(COBJDIR)/arith.o
|
||||
$(CCC) -c $(COMMDIR)/string.c -o $(COBJDIR)/string.o
|
||||
$(CCC) -c $(COMMDIR)/status.c -o $(COBJDIR)/status.o
|
||||
$(CCC) -c $(COMMDIR)/memory.c -o $(COBJDIR)/memory.o
|
||||
$(CCC) -c $(LINXDIR)/test-common.c -o $(LOBJDIR)/test-common.o
|
||||
$(CCC) $(COMMOBJS) $(LOBJDIR)/test-common.o -o $(BINDIR)/kaleid-common.elf
|
||||
|
||||
#----------------------------------------------------------------------------#
|
||||
# KERNEL MAKEFILE
|
||||
|
||||
KOBJDIR=$(OBJDIR)/$(KERNDIR)
|
||||
|
||||
KERNDEPS=common $(KERNDIR)/init.h $(KERNDIR)/io/terminal.h $(KERNDIR)/ke/lock.h \
|
||||
$(KERNDIR)/io/ports.h $(KERNDIR)/ke/panic.h $(KERNDIR)/ke/state.h
|
||||
|
||||
KERNSRCS=$(KERNDIR)/init.c $(KERNDIR)/io/terminal.c $(KERNDIR)/ke/lock.c \
|
||||
$(KERNDIR)/io/ports.c $(KERNDIR)/ke/panic.c $(KERNDIR)/ke/state.c
|
||||
|
||||
KERNOBJS=$(KOBJDIR)/init.o $(KOBJDIR)/io/terminal.o $(KOBJDIR)/ke/lock.o \
|
||||
$(KOBJDIR)/io/ports.o $(KOBJDIR)/ke/panic.o $(KOBJDIR)/ke/state.o
|
||||
|
||||
kernel: common $(KERNSRCS)
|
||||
$(KCC) -c $(KERNDIR)/init.c -o $(KOBJDIR)/init.o
|
||||
$(KCC) -c $(KERNDIR)/ke/lock.c -o $(KOBJDIR)/ke/lock.o
|
||||
$(KCC) -c $(KERNDIR)/ke/state.c -o $(KOBJDIR)/ke/state.o
|
||||
$(KCC) -c $(KERNDIR)/ke/panic.c -o $(KOBJDIR)/ke/panic.o
|
||||
$(KCC) -c $(KERNDIR)/io/ports.c -o $(KOBJDIR)/io/ports.o
|
||||
$(KCC) -c $(KERNDIR)/io/terminal.c -o $(KOBJDIR)/io/terminal.o
|
||||
$(KCC) $(CLDSCR) $(COMMOBJS) $(KERNOBJS) -o $(BINDIR)/kaleid-kernel.elf
|
||||
|
||||
#----------------------------------------------------------------------------#
|
||||
tests:
|
||||
cpp -D_TESTS ./Makefile.in > Makefile.out
|
||||
python ./idttool.py
|
||||
make tests -f Makefile.out.2
|
||||
rm Makefile.out Makefile.out.2
|
||||
|
||||
|
|
|
@ -0,0 +1,107 @@
|
|||
//----------------------------------------------------------------------------#
|
||||
// GNU GPL OS/K #
|
||||
// #
|
||||
// Authors: spectral` #
|
||||
// NeoX #
|
||||
// #
|
||||
// Desc: Project Makefile #
|
||||
//----------------------------------------------------------------------------#
|
||||
|
||||
// The madman's Makefile
|
||||
#include "preproc.h"
|
||||
|
||||
CCNAME="/opt/cross-cc/bin/x86_64-elf-gcc"
|
||||
CC2NAME=gcc
|
||||
COPTIM=-O2
|
||||
CLDSCR=-T kernel.ld
|
||||
CWARNS=-pedantic -Wall -Wextra -Werror
|
||||
CINCLUDES=-isystem./kaleid/include
|
||||
CDEFINES=
|
||||
|
||||
CFLAGS1=-nostdlib -ffreestanding -mcmodel=large
|
||||
CFLAGS2=-mno-red-zone -mno-mmx -mno-sse -mno-sse2
|
||||
CFLAGS=$(CFLAGS1) $(CFLAGS2) $(SFLAG)
|
||||
|
||||
CC=$(CCNAME) $(COPTIM) $(CWARNS) $(CFLAGS) $(CDEFINES) $(CINCLUDES)
|
||||
|
||||
ASM=nasm
|
||||
ASMFLAGS=
|
||||
BOOTFLAGS=-f bin
|
||||
|
||||
BINDIR=../bin
|
||||
OBJDIR=../obj
|
||||
|
||||
BOOTDIR=boot
|
||||
COMMDIR=kaleid/common
|
||||
KERNDIR=kaleid/kernel
|
||||
SYSTDIR=kaleid/system
|
||||
LINXDIR=kaleid/common/test
|
||||
INCDIR=kaleid/include
|
||||
|
||||
all: bootloader kernel
|
||||
|
||||
boot.mbr.s: $(BOOTDIR)/mbr.s $(BOOTDIR)/mbr.inc
|
||||
$(ASM) $(BOOTFLAGS) $(BOOTDIR)/mbr.s -o $(OBJDIR)/boot/mbr.bin
|
||||
|
||||
boot.loader.s: $(BOOTDIR)/loader.s
|
||||
$(ASM) $(BOOTFLAGS) $(BOOTDIR)/loader.s -o $(OBJDIR)/boot/loader.bin
|
||||
|
||||
bootloader: boot.mbr.s boot.loader.s
|
||||
cp $(OBJDIR)/boot/mbr.bin $(BINDIR)/mbr.bin
|
||||
cp $(OBJDIR)/boot/loader.bin $(BINDIR)/loader.bin
|
||||
|
||||
//----------------------------------------------------------------------------#
|
||||
// TESTING MAKEFILE
|
||||
|
||||
pseudo_kern:
|
||||
$(ASM) $(BOOTFLAGS) $(BOOTDIR)/pseudo_kernel.s -o $(OBJDIR)/boot/pkernel.bin
|
||||
|
||||
testing: bootloader pseudo_kern
|
||||
cat $(BINDIR)/bootloader.bin $(OBJDIR)/boot/pkernel.bin > $(BINDIR)/boot.bin
|
||||
|
||||
//----------------------------------------------------------------------------#
|
||||
// COMMON MAKEFILE
|
||||
|
||||
COBJDIR=$(OBJDIR)/$(COMMDIR)
|
||||
LOBJDIR=$(OBJDIR)/$(LINXDIR)
|
||||
|
||||
COMMOBJS=COBJ5(string,status,rand,memory,arith) COBJ4(itoa,ltoa,utoa,ultoa)
|
||||
|
||||
TCC=$(CC2NAME) $(COPTIM) $(CWARNS) $(CINCLUDES)
|
||||
KCC=$(CC) -D_OSK_SOURCE -D_KALEID_KERNEL
|
||||
|
||||
comm-convert:
|
||||
COMPILE_CONVRT(itoa) -D_NEED_ITOA
|
||||
COMPILE_CONVRT(ltoa) -D_NEED_LTOA
|
||||
COMPILE_CONVRT(utoa) -D_NEED_UTOA
|
||||
COMPILE_CONVRT(ultoa) -D_NEED_ULTOA
|
||||
|
||||
common: comm-convert
|
||||
COMPILE_COMMON(rand)
|
||||
COMPILE_COMMON(arith)
|
||||
COMPILE_COMMON(string)
|
||||
COMPILE_COMMON(status)
|
||||
COMPILE_COMMON(memory)
|
||||
|
||||
tests: common
|
||||
$(TCC) -c $(LINXDIR)/test-common.c -o $(LOBJDIR)/test-common.o
|
||||
$(TCC) $(COMMOBJS) $(LOBJDIR)/test-common.o -o $(BINDIR)/kaleid-common.elf
|
||||
|
||||
//----------------------------------------------------------------------------#
|
||||
// KERNEL MAKEFILE
|
||||
|
||||
KOBJDIR=$(OBJDIR)/$(KERNDIR)
|
||||
|
||||
KERNOBJS=KOBJ5(init,ke/lock,ke/panic,ke/state,io/ports) KOBJ1(io/terminal)
|
||||
|
||||
kernel: common
|
||||
COMPILE_KERNEL(init)
|
||||
COMPILE_KERNEL(ke/lock)
|
||||
COMPILE_KERNEL(ke/state)
|
||||
COMPILE_KERNEL(ke/panic)
|
||||
COMPILE_KERNEL(io/ports)
|
||||
COMPILE_KERNEL(io/terminal)
|
||||
LINK_KERNEL(kaleid-kernel.elf)
|
||||
|
||||
//----------------------------------------------------------------------------#
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
# don't mind this file
|
||||
|
||||
f1 = open("Makefile.out", "r+")
|
||||
f2 = open("Makefile.out.2", "w+")
|
||||
|
||||
fl = f1.readlines()
|
||||
for ln in fl:
|
||||
if ln[0] == ' ' and ln[1] != ' ':
|
||||
f2.write('\t')
|
||||
f2.write(ln)
|
||||
|
||||
f1.close()
|
||||
f2.close()
|
||||
|
|
@ -0,0 +1,142 @@
|
|||
#----------------------------------------------------------------------------#
|
||||
# GNU GPL OS/K #
|
||||
# #
|
||||
# Authors: spectral` #
|
||||
# NeoX #
|
||||
# #
|
||||
# Desc: Project Makefile #
|
||||
#----------------------------------------------------------------------------#
|
||||
|
||||
CCNAME="/opt/cross-cc/bin/x86_64-elf-gcc"
|
||||
CC2NAME=gcc
|
||||
COPTIM=-O2
|
||||
CLDSCR=-T kernel.ld
|
||||
CWARNS=-pedantic -Wall -Wextra -Werror
|
||||
CINCLUDES=-isystem./kaleid/include
|
||||
CDEFINES=
|
||||
|
||||
# set to -S to produce assembly
|
||||
# (will be stored in the .o)
|
||||
# (will also generate errors, but don't mind them)
|
||||
SFLAG=-S
|
||||
|
||||
CFLAGS1=-nostdlib -ffreestanding -mcmodel=large
|
||||
CFLAGS2=-mno-red-zone -mno-mmx -mno-sse -mno-sse2
|
||||
CFLAGS=$(CFLAGS1) $(CFLAGS2) $(SFLAG)
|
||||
|
||||
CC=$(CCNAME) $(COPTIM) $(CWARNS) $(CFLAGS) $(CDEFINES) $(CINCLUDES)
|
||||
KCC=$(CC) -D_OSK_SOURCE -D_KALEID_KERNEL
|
||||
|
||||
ASM=nasm
|
||||
ASMFLAGS=
|
||||
BOOTFLAGS=-f bin
|
||||
|
||||
BINDIR=../bin
|
||||
OBJDIR=../obj
|
||||
|
||||
BOOTDIR=boot
|
||||
COMMDIR=kaleid/common
|
||||
KERNDIR=kaleid/kernel
|
||||
SYSTDIR=kaleid/system
|
||||
LINXDIR=kaleid/common/test
|
||||
INCDIR=kaleid/include
|
||||
|
||||
all: bootloader kernel
|
||||
|
||||
boot.mbr.s: $(BOOTDIR)/mbr.s $(BOOTDIR)/mbr.inc
|
||||
$(ASM) $(BOOTFLAGS) $(BOOTDIR)/mbr.s -o $(OBJDIR)/boot/mbr.bin
|
||||
|
||||
boot.loader.s: $(BOOTDIR)/loader.s
|
||||
$(ASM) $(BOOTFLAGS) $(BOOTDIR)/loader.s -o $(OBJDIR)/boot/loader.bin
|
||||
|
||||
bootloader: boot.mbr.s boot.loader.s
|
||||
cp $(OBJDIR)/boot/mbr.bin $(BINDIR)/mbr.bin
|
||||
cp $(OBJDIR)/boot/loader.bin $(BINDIR)/loader.bin
|
||||
|
||||
#----------------------------------------------------------------------------#
|
||||
# TESTING MAKEFILE
|
||||
|
||||
pseudo_kern:
|
||||
$(ASM) $(BOOTFLAGS) $(BOOTDIR)/pseudo_kernel.s -o $(OBJDIR)/boot/pkernel.bin
|
||||
|
||||
testing: bootloader pseudo_kern
|
||||
cat $(BINDIR)/bootloader.bin $(OBJDIR)/boot/pkernel.bin > $(BINDIR)/boot.bin
|
||||
|
||||
#----------------------------------------------------------------------------#
|
||||
# COMMON MAKEFILE
|
||||
|
||||
COBJDIR=$(OBJDIR)/$(COMMDIR)
|
||||
LOBJDIR=$(OBJDIR)/$(LINXDIR)
|
||||
|
||||
#COMMDEPS=$(COMMDIR)/common.h $(COMMDIR)/stdlib.h $(KERNDIR)/config.h
|
||||
COMMDEPS=$(INCDIR)/kaleid.h $(INCDIR)/kaldefs.h $(INCDIR)/kaltypes.h \
|
||||
$(INCDIR)/kalmask.h $(INCDIR)/kalmask.h $(INCDIR)/kalassrt.h
|
||||
|
||||
COMMSRCS=$(COMMDIR)/string.c $(COMMDIR)/status.c $(COMMDIR)/rand.c \
|
||||
$(COMMDIR)/convert.c $(COMMDIR)/memory.c $(COMMDIR)/arith.c
|
||||
|
||||
COMMOBJS=$(COBJDIR)/string.o $(COBJDIR)/status.o $(COBJDIR)/rand.o \
|
||||
$(COBJDIR)/memory.o $(COBJDIR)/arith.o \
|
||||
$(COBJDIR)/itoa.o $(COBJDIR)/ltoa.o $(COBJDIR)/utoa.o $(COBJDIR)/ultoa.o
|
||||
|
||||
comm-convert:
|
||||
$(KCC) -c $(COMMDIR)/convert.c -D_NEED_ITOA -o $(COBJDIR)/itoa.o
|
||||
$(KCC) -c $(COMMDIR)/convert.c -D_NEED_LTOA -o $(COBJDIR)/ltoa.o
|
||||
$(KCC) -c $(COMMDIR)/convert.c -D_NEED_UTOA -o $(COBJDIR)/utoa.o
|
||||
$(KCC) -c $(COMMDIR)/convert.c -D_NEED_ULTOA -o $(COBJDIR)/ultoa.o
|
||||
|
||||
common: $(COMMDEPS) $(COMMSRCS) comm-convert
|
||||
$(KCC) -c $(COMMDIR)/rand.c -o $(COBJDIR)/rand.o
|
||||
$(KCC) -c $(COMMDIR)/arith.c -o $(COBJDIR)/arith.o
|
||||
$(KCC) -c $(COMMDIR)/string.c -o $(COBJDIR)/string.o
|
||||
$(KCC) -c $(COMMDIR)/status.c -o $(COBJDIR)/status.o
|
||||
$(KCC) -c $(COMMDIR)/memory.c -o $(COBJDIR)/memory.o
|
||||
|
||||
CCC=$(CC2NAME) $(COPTIM) $(CWARNS) $(CINCLUDES)
|
||||
|
||||
tests-comm-convert:
|
||||
$(CCC) -c $(COMMDIR)/convert.c -D_NEED_ITOA -o $(COBJDIR)/itoa.o
|
||||
$(CCC) -c $(COMMDIR)/convert.c -D_NEED_LTOA -o $(COBJDIR)/ltoa.o
|
||||
$(CCC) -c $(COMMDIR)/convert.c -D_NEED_UTOA -o $(COBJDIR)/utoa.o
|
||||
$(CCC) -c $(COMMDIR)/convert.c -D_NEED_ULTOA -o $(COBJDIR)/ultoa.o
|
||||
|
||||
tests: $(COMMSRCS) tests-comm-convert
|
||||
$(CCC) -c $(COMMDIR)/rand.c -o $(COBJDIR)/rand.o
|
||||
$(CCC) -c $(COMMDIR)/arith.c -o $(COBJDIR)/arith.o
|
||||
$(CCC) -c $(COMMDIR)/string.c -o $(COBJDIR)/string.o
|
||||
$(CCC) -c $(COMMDIR)/status.c -o $(COBJDIR)/status.o
|
||||
$(CCC) -c $(COMMDIR)/memory.c -o $(COBJDIR)/memory.o
|
||||
$(CCC) -c $(LINXDIR)/test-common.c -o $(LOBJDIR)/test-common.o
|
||||
$(CCC) $(COMMOBJS) $(LOBJDIR)/test-common.o -o $(BINDIR)/kaleid-common.elf
|
||||
|
||||
#----------------------------------------------------------------------------#
|
||||
# KERNEL MAKEFILE
|
||||
|
||||
KOBJDIR=$(OBJDIR)/$(KERNDIR)
|
||||
|
||||
KERNDEPS=common $(KERNDIR)/init.h $(KERNDIR)/io/terminal.h $(KERNDIR)/ke/lock.h \
|
||||
$(KERNDIR)/io/ports.h $(KERNDIR)/ke/panic.h $(KERNDIR)/ke/state.h
|
||||
|
||||
KERNSRCS=$(KERNDIR)/init.c $(KERNDIR)/io/terminal.c $(KERNDIR)/ke/lock.c \
|
||||
$(KERNDIR)/io/ports.c $(KERNDIR)/ke/panic.c $(KERNDIR)/ke/state.c
|
||||
|
||||
KERNOBJS=$(KOBJDIR)/init.o $(KOBJDIR)/io/terminal.o $(KOBJDIR)/ke/lock.o \
|
||||
$(KOBJDIR)/io/ports.o $(KOBJDIR)/ke/panic.o $(KOBJDIR)/ke/state.o
|
||||
|
||||
kernel: common $(KERNSRCS)
|
||||
$(KCC) -c $(KERNDIR)/init.c -o $(KOBJDIR)/init.o
|
||||
$(KCC) -c $(KERNDIR)/ke/lock.c -o $(KOBJDIR)/ke/lock.o
|
||||
$(KCC) -c $(KERNDIR)/ke/state.c -o $(KOBJDIR)/ke/state.o
|
||||
$(KCC) -c $(KERNDIR)/ke/panic.c -o $(KOBJDIR)/ke/panic.o
|
||||
$(KCC) -c $(KERNDIR)/io/ports.c -o $(KOBJDIR)/io/ports.o
|
||||
$(KCC) -c $(KERNDIR)/io/terminal.c -o $(KOBJDIR)/io/terminal.o
|
||||
$(KCC) $(CLDSCR) $(COMMOBJS) $(KERNOBJS) -o $(BINDIR)/kaleid-kernel.elf
|
||||
|
||||
#----------------------------------------------------------------------------#
|
||||
|
||||
.PHONY: clean
|
||||
|
||||
clean:
|
||||
|
||||
#----------------------------------------------------------------------------#
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
// be careful with this file
|
||||
|
||||
#ifdef _TESTS
|
||||
# define CCC TCC
|
||||
#else
|
||||
# define CCC KCC
|
||||
#endif
|
||||
|
||||
#ifdef _TO_ASM
|
||||
# define _CSPREF -S
|
||||
# define _OUTFIX S
|
||||
# define LINK_KERNEL(out)
|
||||
#else
|
||||
# define _CSPREF -c
|
||||
# define _OUTFIX o
|
||||
# define LINK_KERNEL(out) $(KCC) $(CLDSCR) $(COMMOBJS) $(KERNOBJS) -o $(BINDIR)/out
|
||||
#endif
|
||||
|
||||
#define COMPILE_CONVRT(file) $(CCC) _CSPREF $(COMMDIR)/convert.c -o $(COBJDIR)/file._OUTFIX
|
||||
#define COMPILE_COMMON(file) $(CCC) _CSPREF $(COMMDIR)/file.c -o $(COBJDIR)/file._OUTFIX
|
||||
#define COMPILE_KERNEL(file) $(KCC) _CSPREF $(KERNDIR)/file.c -o $(KOBJDIR)/file._OUTFIX
|
||||
|
||||
#define COBJ1(x1) $(COBJDIR)/x1.o
|
||||
#define COBJ2(x1,x2) $(COBJDIR)/x1.o $(COBJDIR)/x2.o
|
||||
#define COBJ3(x1,x2,x3) $(COBJDIR)/x1.o $(COBJDIR)/x2.o $(COBJDIR)/x3
|
||||
#define COBJ4(x1,x2,x3,x4) $(COBJDIR)/x1.o $(COBJDIR)/x2.o $(COBJDIR)/x3.o $(COBJDIR)/x4.o
|
||||
#define COBJ5(x1,x2,x3,x4,x5) $(COBJDIR)/x1.o $(COBJDIR)/x2.o $(COBJDIR)/x3.o $(COBJDIR)/x4.o $(COBJDIR)/x5.o
|
||||
|
||||
#define KOBJ1(x1) $(KOBJDIR)/x1.o
|
||||
#define KOBJ2(x1,x2) $(KOBJDIR)/x1.o $(KOBJDIR)/x2.o
|
||||
#define KOBJ3(x1,x2,x3) $(KOBJDIR)/x1.o $(KOBJDIR)/x2.o $(KOBJDIR)/x3
|
||||
#define KOBJ4(x1,x2,x3,x4) $(KOBJDIR)/x1.o $(KOBJDIR)/x2.o $(KOBJDIR)/x3.o $(KOBJDIR)/x4.o
|
||||
#define KOBJ5(x1,x2,x3,x4,x5) $(KOBJDIR)/x1.o $(KOBJDIR)/x2.o $(KOBJDIR)/x3.o $(KOBJDIR)/x4.o $(KOBJDIR)/x5.o
|
Loading…
Reference in New Issue