Major overhaul for the Makefile
This commit is contained in:
parent
90761c4a10
commit
20cc9ab4be
34
Makefile
34
Makefile
|
@ -75,8 +75,7 @@ NC='\033[1;37m'
|
||||||
## SOURCES INSCRIPTION-------------------------------------------------------- #
|
## SOURCES INSCRIPTION-------------------------------------------------------- #
|
||||||
|
|
||||||
# Lib C sources + libbuf source
|
# Lib C sources + libbuf source
|
||||||
LibCSources = libc/atoi.c libc/itoa.c \
|
LibCSources = libc/mem.c libc/ctype.c \
|
||||||
libc/mem.c libc/ctype.c \
|
|
||||||
libc/rand.c libc/sprintf.c \
|
libc/rand.c libc/sprintf.c \
|
||||||
libc/status.c libc/string.c \
|
libc/status.c libc/string.c \
|
||||||
libc/strtol.c extras/argv.c \
|
libc/strtol.c extras/argv.c \
|
||||||
|
@ -86,7 +85,10 @@ LibCSources = libc/atoi.c libc/itoa.c \
|
||||||
libbuf/bmisc.c libbuf/bclose.c \
|
libbuf/bmisc.c libbuf/bclose.c \
|
||||||
extras/prog.c \
|
extras/prog.c \
|
||||||
|
|
||||||
KernObj=$(patsubst %.c,$(KOBJDIR)/%.o,$(KernSources))
|
LibCObj=$(patsubst %.c,$(KOBJDIR)/%.o,$(LibCSources))
|
||||||
|
LibCDep=$(patsubst %.c,$(KOBJDIR)/%.d,$(LibCSources))
|
||||||
|
|
||||||
|
LibCObj += $(KOBJDIR)/libc/atoi.o $(KOBJDIR)/libc/itoa.o
|
||||||
|
|
||||||
# Kernel sources
|
# Kernel sources
|
||||||
KernSources = kernel/cpu/cpuid.c \
|
KernSources = kernel/cpu/cpuid.c \
|
||||||
|
@ -101,7 +103,8 @@ KernSources = kernel/cpu/cpuid.c \
|
||||||
kernel/io/spkr.c kernel/po/shtdwn.c \
|
kernel/io/spkr.c kernel/po/shtdwn.c \
|
||||||
kernel/sh/shell.c kernel/sh/shcmds.c
|
kernel/sh/shell.c kernel/sh/shcmds.c
|
||||||
|
|
||||||
LibCObj=$(patsubst %.c,$(KOBJDIR)/%.o,$(LibCSources))
|
KernObj=$(patsubst %.c,$(KOBJDIR)/%.o,$(KernSources))
|
||||||
|
KernDep=$(patsubst %.c,$(KOBJDIR)/%.d,$(KernSources))
|
||||||
|
|
||||||
|
|
||||||
## KALEID MAKEFILE ----------------------------------------------------------- #
|
## KALEID MAKEFILE ----------------------------------------------------------- #
|
||||||
|
@ -119,7 +122,9 @@ $(KOBJDIR):
|
||||||
@mkdir -p $(KOBJDIR)
|
@mkdir -p $(KOBJDIR)
|
||||||
|
|
||||||
## LIB C MAKEFILE ------------------------------------------------------------ #
|
## LIB C MAKEFILE ------------------------------------------------------------ #
|
||||||
$(KOBJDIR)/libc/atoi.o: $(KALEIDDIR)/libc/atoi.c $(INCLUDEDIR)/*/*.h | $(KOBJDIR)
|
-include $(LibCDep)
|
||||||
|
|
||||||
|
$(KOBJDIR)/libc/atoi.o: $(KALEIDDIR)/libc/atoi.c $(INCLUDEDIR)/kalbase.h | $(KOBJDIR)
|
||||||
@mkdir -p $(shell dirname $@)
|
@mkdir -p $(shell dirname $@)
|
||||||
@$(KCC) -D_NEED_ATOI $< -o $@.1
|
@$(KCC) -D_NEED_ATOI $< -o $@.1
|
||||||
@$(KCC) -D_NEED_ATOL $< -o $@.2
|
@$(KCC) -D_NEED_ATOL $< -o $@.2
|
||||||
|
@ -129,7 +134,7 @@ $(KOBJDIR)/libc/atoi.o: $(KALEIDDIR)/libc/atoi.c $(INCLUDEDIR)/*/*.h | $(KOBJDIR
|
||||||
@rm -f $@.1 $@.2 $@.3 $@.4
|
@rm -f $@.1 $@.2 $@.3 $@.4
|
||||||
@echo ${CL2}[$@] ${CL}Compiled.${CL3}
|
@echo ${CL2}[$@] ${CL}Compiled.${CL3}
|
||||||
|
|
||||||
$(KOBJDIR)/libc/itoa.o: $(KALEIDDIR)/libc/itoa.c $(INCLUDEDIR)/*/*.h | $(KOBJDIR)
|
$(KOBJDIR)/libc/itoa.o: $(KALEIDDIR)/libc/itoa.c $(INCLUDEDIR)/kalbase.h | $(KOBJDIR)
|
||||||
@mkdir -p $(shell dirname $@)
|
@mkdir -p $(shell dirname $@)
|
||||||
@$(KCC) -D_NEED_ITOA $< -o $@.1
|
@$(KCC) -D_NEED_ITOA $< -o $@.1
|
||||||
@$(KCC) -D_NEED_LTOA $< -o $@.2
|
@$(KCC) -D_NEED_LTOA $< -o $@.2
|
||||||
|
@ -139,15 +144,16 @@ $(KOBJDIR)/libc/itoa.o: $(KALEIDDIR)/libc/itoa.c $(INCLUDEDIR)/*/*.h | $(KOBJDIR
|
||||||
@rm -f $@.1 $@.2 $@.3 $@.4
|
@rm -f $@.1 $@.2 $@.3 $@.4
|
||||||
@echo ${CL2}[$@] ${CL}Compiled.${CL3}
|
@echo ${CL2}[$@] ${CL}Compiled.${CL3}
|
||||||
|
|
||||||
$(KOBJDIR)/libc/mem.o: $(KALEIDDIR)/libc/mem.c $(INCLUDEDIR)/*/*.h | $(KOBJDIR)
|
$(KOBJDIR)/libc/mem.o: $(KALEIDDIR)/libc/mem.c | $(KOBJDIR)
|
||||||
@mkdir -p $(shell dirname $@)
|
@mkdir -p $(shell dirname $@)
|
||||||
@$(KCC) -fno-strict-aliasing $< -o $@
|
@$(KCC) -fno-strict-aliasing $< -o $@
|
||||||
@echo ${CL2}[$@] ${CL}Compiled.${CL3}
|
@echo ${CL2}[$@] ${CL}Compiled.${CL3}
|
||||||
|
|
||||||
## MISC MAKEFILE ------------------------------------------------------------- #
|
## KERNEL MAKEFILE ----------------------------------------------------------- #
|
||||||
|
-include $(KernDep)
|
||||||
|
|
||||||
$(KOBJDIR)/kernel/cpu/idt.o: $(KALEIDDIR)/kernel/cpu/idt.c \
|
$(KOBJDIR)/kernel/cpu/idt.o: $(KALEIDDIR)/kernel/cpu/idt.c \
|
||||||
$(KALEIDDIR)/kernel/cpu/isr.asm $(INCLUDEDIR)/*/*.h | $(KOBJDIR)
|
$(KALEIDDIR)/kernel/cpu/isr.asm | $(KOBJDIR)
|
||||||
@mkdir -p $(shell dirname $@)
|
@mkdir -p $(shell dirname $@)
|
||||||
@$(ASM) $(ASMFLAGS) $(KALEIDDIR)/kernel/cpu/isr.asm -o $@.1
|
@$(ASM) $(ASMFLAGS) $(KALEIDDIR)/kernel/cpu/isr.asm -o $@.1
|
||||||
@$(KCC) $< -o $@.2
|
@$(KCC) $< -o $@.2
|
||||||
|
@ -156,7 +162,7 @@ $(KOBJDIR)/kernel/cpu/idt.o: $(KALEIDDIR)/kernel/cpu/idt.c \
|
||||||
@echo ${CL2}[$@] ${CL}Compiled.${CL3}
|
@echo ${CL2}[$@] ${CL}Compiled.${CL3}
|
||||||
|
|
||||||
$(KOBJDIR)/kernel/cpu/cpuid.o: $(KALEIDDIR)/kernel/cpu/cpuid.c \
|
$(KOBJDIR)/kernel/cpu/cpuid.o: $(KALEIDDIR)/kernel/cpu/cpuid.c \
|
||||||
$(KALEIDDIR)/kernel/cpu/cpuf.asm $(INCLUDEDIR)/*/*.h | $(KOBJDIR)
|
$(KALEIDDIR)/kernel/cpu/cpuf.asm | $(KOBJDIR)
|
||||||
@mkdir -p $(shell dirname $@)
|
@mkdir -p $(shell dirname $@)
|
||||||
@$(ASM) $(ASMFLAGS) $(KALEIDDIR)/kernel/cpu/cpuf.asm -o $@.1
|
@$(ASM) $(ASMFLAGS) $(KALEIDDIR)/kernel/cpu/cpuf.asm -o $@.1
|
||||||
@$(KCC) $< -o $@.2
|
@$(KCC) $< -o $@.2
|
||||||
|
@ -164,9 +170,15 @@ $(KOBJDIR)/kernel/cpu/cpuid.o: $(KALEIDDIR)/kernel/cpu/cpuid.c \
|
||||||
@rm -f $@.1 $@.2
|
@rm -f $@.1 $@.2
|
||||||
@echo ${CL2}[$@] ${CL}Compiled.${CL3}
|
@echo ${CL2}[$@] ${CL}Compiled.${CL3}
|
||||||
|
|
||||||
|
## DEPENDENCIES MAKEFILE ----------------------------------------------------- #
|
||||||
|
$(KOBJDIR)/%.d: %.c | $(KOBJDIR)
|
||||||
|
@mkdir -p $(shell dirname $@)
|
||||||
|
@$(KCC) -MM -MT $(@:%.d=%.o) -MF $@ $<
|
||||||
|
@echo ${CL2}[$@] ${CL}Dependencies generated.${CL3}
|
||||||
|
|
||||||
## MAIN MAKEFILE ------------------------------------------------------------- #
|
## MAIN MAKEFILE ------------------------------------------------------------- #
|
||||||
|
|
||||||
$(KOBJDIR)/%.o: %.c $(INCLUDEDIR)/*/*.h $(KALEIDDIR)/*/*/*.h | $(KOBJDIR)
|
$(KOBJDIR)/%.o: %.c | $(KOBJDIR)
|
||||||
@mkdir -p $(shell dirname $@)
|
@mkdir -p $(shell dirname $@)
|
||||||
@$(KCC) $< -o $@
|
@$(KCC) $< -o $@
|
||||||
@echo ${CL2}[$@] ${CL}Compiled.${CL3}
|
@echo ${CL2}[$@] ${CL}Compiled.${CL3}
|
||||||
|
|
47
ProjectTree
47
ProjectTree
|
@ -56,59 +56,100 @@
|
||||||
│ │ │ └── loader.o
|
│ │ │ └── loader.o
|
||||||
│ │ └── kaleid
|
│ │ └── kaleid
|
||||||
│ │ ├── extras
|
│ │ ├── extras
|
||||||
|
│ │ │ ├── argv.d
|
||||||
│ │ │ ├── argv.o
|
│ │ │ ├── argv.o
|
||||||
|
│ │ │ ├── prog.d
|
||||||
│ │ │ └── prog.o
|
│ │ │ └── prog.o
|
||||||
│ │ ├── kernel
|
│ │ ├── kernel
|
||||||
│ │ │ ├── cpu
|
│ │ │ ├── cpu
|
||||||
|
│ │ │ │ ├── cpuid.d
|
||||||
│ │ │ │ ├── cpuid.o
|
│ │ │ │ ├── cpuid.o
|
||||||
|
│ │ │ │ ├── idt.d
|
||||||
│ │ │ │ └── idt.o
|
│ │ │ │ └── idt.o
|
||||||
│ │ │ ├── init
|
│ │ │ ├── init
|
||||||
|
│ │ │ │ ├── info.d
|
||||||
│ │ │ │ ├── info.o
|
│ │ │ │ ├── info.o
|
||||||
|
│ │ │ │ ├── init.d
|
||||||
│ │ │ │ ├── init.o
|
│ │ │ │ ├── init.o
|
||||||
|
│ │ │ │ ├── ssp.d
|
||||||
│ │ │ │ ├── ssp.o
|
│ │ │ │ ├── ssp.o
|
||||||
|
│ │ │ │ ├── table.d
|
||||||
│ │ │ │ └── table.o
|
│ │ │ │ └── table.o
|
||||||
│ │ │ ├── io
|
│ │ │ ├── io
|
||||||
|
│ │ │ │ ├── cursor.d
|
||||||
│ │ │ │ ├── cursor.o
|
│ │ │ │ ├── cursor.o
|
||||||
|
│ │ │ │ ├── keyb.d
|
||||||
│ │ │ │ ├── keyb.o
|
│ │ │ │ ├── keyb.o
|
||||||
|
│ │ │ │ ├── rtc.d
|
||||||
│ │ │ │ ├── rtc.o
|
│ │ │ │ ├── rtc.o
|
||||||
|
│ │ │ │ ├── spkr.d
|
||||||
│ │ │ │ ├── spkr.o
|
│ │ │ │ ├── spkr.o
|
||||||
|
│ │ │ │ ├── vga.d
|
||||||
│ │ │ │ └── vga.o
|
│ │ │ │ └── vga.o
|
||||||
│ │ │ ├── ke
|
│ │ │ ├── ke
|
||||||
|
│ │ │ │ ├── log.d
|
||||||
│ │ │ │ ├── log.o
|
│ │ │ │ ├── log.o
|
||||||
|
│ │ │ │ ├── panic.d
|
||||||
│ │ │ │ └── panic.o
|
│ │ │ │ └── panic.o
|
||||||
│ │ │ ├── mm
|
│ │ │ ├── mm
|
||||||
|
│ │ │ │ ├── gdt.d
|
||||||
│ │ │ │ ├── gdt.o
|
│ │ │ │ ├── gdt.o
|
||||||
|
│ │ │ │ ├── heap.d
|
||||||
│ │ │ │ ├── heap.o
|
│ │ │ │ ├── heap.o
|
||||||
|
│ │ │ │ ├── malloc.d
|
||||||
│ │ │ │ ├── malloc.o
|
│ │ │ │ ├── malloc.o
|
||||||
|
│ │ │ │ ├── map.d
|
||||||
│ │ │ │ └── map.o
|
│ │ │ │ └── map.o
|
||||||
│ │ │ ├── po
|
│ │ │ ├── po
|
||||||
|
│ │ │ │ ├── shtdwn.d
|
||||||
│ │ │ │ └── shtdwn.o
|
│ │ │ │ └── shtdwn.o
|
||||||
│ │ │ ├── ps
|
│ │ │ ├── ps
|
||||||
|
│ │ │ │ ├── sched.d
|
||||||
│ │ │ │ └── sched.o
|
│ │ │ │ └── sched.o
|
||||||
│ │ │ └── sh
|
│ │ │ └── sh
|
||||||
|
│ │ │ ├── shcmds.d
|
||||||
│ │ │ ├── shcmds.o
|
│ │ │ ├── shcmds.o
|
||||||
|
│ │ │ ├── shell.d
|
||||||
│ │ │ └── shell.o
|
│ │ │ └── shell.o
|
||||||
│ │ ├── libbuf
|
│ │ ├── libbuf
|
||||||
|
│ │ │ ├── bclose.d
|
||||||
│ │ │ ├── bclose.o
|
│ │ │ ├── bclose.o
|
||||||
|
│ │ │ ├── bflush.d
|
||||||
│ │ │ ├── bflush.o
|
│ │ │ ├── bflush.o
|
||||||
|
│ │ │ ├── bgetc.d
|
||||||
│ │ │ ├── bgetc.o
|
│ │ │ ├── bgetc.o
|
||||||
|
│ │ │ ├── bmisc.d
|
||||||
│ │ │ ├── bmisc.o
|
│ │ │ ├── bmisc.o
|
||||||
|
│ │ │ ├── bopen.d
|
||||||
│ │ │ ├── bopen.o
|
│ │ │ ├── bopen.o
|
||||||
|
│ │ │ ├── bprint.d
|
||||||
│ │ │ ├── bprint.o
|
│ │ │ ├── bprint.o
|
||||||
|
│ │ │ ├── bputc.d
|
||||||
│ │ │ ├── bputc.o
|
│ │ │ ├── bputc.o
|
||||||
|
│ │ │ ├── bread.d
|
||||||
│ │ │ ├── bread.o
|
│ │ │ ├── bread.o
|
||||||
|
│ │ │ ├── bscan.d
|
||||||
│ │ │ ├── bscan.o
|
│ │ │ ├── bscan.o
|
||||||
|
│ │ │ ├── bscroll.d
|
||||||
│ │ │ ├── bscroll.o
|
│ │ │ ├── bscroll.o
|
||||||
|
│ │ │ ├── bwrite.d
|
||||||
│ │ │ └── bwrite.o
|
│ │ │ └── bwrite.o
|
||||||
│ │ └── libc
|
│ │ └── libc
|
||||||
│ │ ├── atoi.o
|
│ │ ├── atoi.o
|
||||||
|
│ │ ├── ctype.d
|
||||||
│ │ ├── ctype.o
|
│ │ ├── ctype.o
|
||||||
│ │ ├── itoa.o
|
│ │ ├── itoa.o
|
||||||
|
│ │ ├── mem.d
|
||||||
│ │ ├── mem.o
|
│ │ ├── mem.o
|
||||||
|
│ │ ├── rand.d
|
||||||
│ │ ├── rand.o
|
│ │ ├── rand.o
|
||||||
|
│ │ ├── sprintf.d
|
||||||
│ │ ├── sprintf.o
|
│ │ ├── sprintf.o
|
||||||
|
│ │ ├── status.d
|
||||||
│ │ ├── status.o
|
│ │ ├── status.o
|
||||||
|
│ │ ├── string.d
|
||||||
│ │ ├── string.o
|
│ │ ├── string.o
|
||||||
|
│ │ ├── strtol.d
|
||||||
│ │ └── strtol.o
|
│ │ └── strtol.o
|
||||||
│ ├── grub.log
|
│ ├── grub.log
|
||||||
│ ├── kaleid32_disasm.asm
|
│ ├── kaleid32_disasm.asm
|
||||||
|
@ -156,10 +197,10 @@
|
||||||
│ ├── kernel
|
│ ├── kernel
|
||||||
│ │ ├── cpu
|
│ │ ├── cpu
|
||||||
│ │ │ ├── cpuf.asm
|
│ │ │ ├── cpuf.asm
|
||||||
|
│ │ │ ├── cpuf.inc
|
||||||
│ │ │ ├── cpuid.c
|
│ │ │ ├── cpuid.c
|
||||||
│ │ │ ├── idt.c
|
│ │ │ ├── idt.c
|
||||||
│ │ │ ├── isr.asm
|
│ │ │ └── isr.asm
|
||||||
│ │ │ └── isr.inc
|
|
||||||
│ │ ├── init
|
│ │ ├── init
|
||||||
│ │ │ ├── info.c
|
│ │ │ ├── info.c
|
||||||
│ │ │ ├── init.c
|
│ │ │ ├── init.c
|
||||||
|
@ -218,4 +259,4 @@
|
||||||
├── ProjectTree
|
├── ProjectTree
|
||||||
└── README.md
|
└── README.md
|
||||||
|
|
||||||
41 directories, 152 files
|
41 directories, 193 files
|
||||||
|
|
|
@ -25,11 +25,11 @@
|
||||||
#include <kernel/cpuid.h>
|
#include <kernel/cpuid.h>
|
||||||
|
|
||||||
|
|
||||||
void CpuGetInfos(void)
|
/* void CpuGetInfos(void) */
|
||||||
{
|
/* { */
|
||||||
CpuCpuidString(0, CpuVendorString);
|
/* CpuCpuidString(0, CpuVendorString); */
|
||||||
return (char *)&CpuVendorString[1];
|
/* return (char *)&CpuVendorString[1]; */
|
||||||
}
|
/* } */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -62,9 +62,6 @@ noreturn void BtStartKern(multiboot_info_t *mbInfo, uint mbMagic, void *codeSeg)
|
||||||
IoGetRtcTimeChar();
|
IoGetRtcTimeChar();
|
||||||
IoPrintRtcTime();
|
IoPrintRtcTime();
|
||||||
|
|
||||||
extern void PrintVendorString(void);
|
|
||||||
PrintVendorString();
|
|
||||||
|
|
||||||
KeStartShell();
|
KeStartShell();
|
||||||
|
|
||||||
KernLog("End of input reached\n");
|
KernLog("End of input reached\n");
|
||||||
|
|
Loading…
Reference in New Issue