mirror of
https://gitlab.os-k.eu/os-k-team/os-k.git
synced 2023-08-25 14:03:10 +02:00
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-------------------------------------------------------- #
|
||||
|
||||
# Lib C sources + libbuf source
|
||||
LibCSources = libc/atoi.c libc/itoa.c \
|
||||
libc/mem.c libc/ctype.c \
|
||||
LibCSources = libc/mem.c libc/ctype.c \
|
||||
libc/rand.c libc/sprintf.c \
|
||||
libc/status.c libc/string.c \
|
||||
libc/strtol.c extras/argv.c \
|
||||
@ -86,7 +85,10 @@ LibCSources = libc/atoi.c libc/itoa.c \
|
||||
libbuf/bmisc.c libbuf/bclose.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
|
||||
KernSources = kernel/cpu/cpuid.c \
|
||||
@ -101,7 +103,8 @@ KernSources = kernel/cpu/cpuid.c \
|
||||
kernel/io/spkr.c kernel/po/shtdwn.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 ----------------------------------------------------------- #
|
||||
@ -119,7 +122,9 @@ $(KOBJDIR):
|
||||
@mkdir -p $(KOBJDIR)
|
||||
|
||||
## 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 $@)
|
||||
@$(KCC) -D_NEED_ATOI $< -o $@.1
|
||||
@$(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
|
||||
@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 $@)
|
||||
@$(KCC) -D_NEED_ITOA $< -o $@.1
|
||||
@$(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
|
||||
@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 $@)
|
||||
@$(KCC) -fno-strict-aliasing $< -o $@
|
||||
@echo ${CL2}[$@] ${CL}Compiled.${CL3}
|
||||
|
||||
## MISC MAKEFILE ------------------------------------------------------------- #
|
||||
## KERNEL MAKEFILE ----------------------------------------------------------- #
|
||||
-include $(KernDep)
|
||||
|
||||
$(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 $@)
|
||||
@$(ASM) $(ASMFLAGS) $(KALEIDDIR)/kernel/cpu/isr.asm -o $@.1
|
||||
@$(KCC) $< -o $@.2
|
||||
@ -156,7 +162,7 @@ $(KOBJDIR)/kernel/cpu/idt.o: $(KALEIDDIR)/kernel/cpu/idt.c \
|
||||
@echo ${CL2}[$@] ${CL}Compiled.${CL3}
|
||||
|
||||
$(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 $@)
|
||||
@$(ASM) $(ASMFLAGS) $(KALEIDDIR)/kernel/cpu/cpuf.asm -o $@.1
|
||||
@$(KCC) $< -o $@.2
|
||||
@ -164,9 +170,15 @@ $(KOBJDIR)/kernel/cpu/cpuid.o: $(KALEIDDIR)/kernel/cpu/cpuid.c \
|
||||
@rm -f $@.1 $@.2
|
||||
@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 ------------------------------------------------------------- #
|
||||
|
||||
$(KOBJDIR)/%.o: %.c $(INCLUDEDIR)/*/*.h $(KALEIDDIR)/*/*/*.h | $(KOBJDIR)
|
||||
$(KOBJDIR)/%.o: %.c | $(KOBJDIR)
|
||||
@mkdir -p $(shell dirname $@)
|
||||
@$(KCC) $< -o $@
|
||||
@echo ${CL2}[$@] ${CL}Compiled.${CL3}
|
||||
|
47
ProjectTree
47
ProjectTree
@ -56,59 +56,100 @@
|
||||
│ │ │ └── loader.o
|
||||
│ │ └── kaleid
|
||||
│ │ ├── extras
|
||||
│ │ │ ├── argv.d
|
||||
│ │ │ ├── argv.o
|
||||
│ │ │ ├── prog.d
|
||||
│ │ │ └── prog.o
|
||||
│ │ ├── kernel
|
||||
│ │ │ ├── cpu
|
||||
│ │ │ │ ├── cpuid.d
|
||||
│ │ │ │ ├── cpuid.o
|
||||
│ │ │ │ ├── idt.d
|
||||
│ │ │ │ └── idt.o
|
||||
│ │ │ ├── init
|
||||
│ │ │ │ ├── info.d
|
||||
│ │ │ │ ├── info.o
|
||||
│ │ │ │ ├── init.d
|
||||
│ │ │ │ ├── init.o
|
||||
│ │ │ │ ├── ssp.d
|
||||
│ │ │ │ ├── ssp.o
|
||||
│ │ │ │ ├── table.d
|
||||
│ │ │ │ └── table.o
|
||||
│ │ │ ├── io
|
||||
│ │ │ │ ├── cursor.d
|
||||
│ │ │ │ ├── cursor.o
|
||||
│ │ │ │ ├── keyb.d
|
||||
│ │ │ │ ├── keyb.o
|
||||
│ │ │ │ ├── rtc.d
|
||||
│ │ │ │ ├── rtc.o
|
||||
│ │ │ │ ├── spkr.d
|
||||
│ │ │ │ ├── spkr.o
|
||||
│ │ │ │ ├── vga.d
|
||||
│ │ │ │ └── vga.o
|
||||
│ │ │ ├── ke
|
||||
│ │ │ │ ├── log.d
|
||||
│ │ │ │ ├── log.o
|
||||
│ │ │ │ ├── panic.d
|
||||
│ │ │ │ └── panic.o
|
||||
│ │ │ ├── mm
|
||||
│ │ │ │ ├── gdt.d
|
||||
│ │ │ │ ├── gdt.o
|
||||
│ │ │ │ ├── heap.d
|
||||
│ │ │ │ ├── heap.o
|
||||
│ │ │ │ ├── malloc.d
|
||||
│ │ │ │ ├── malloc.o
|
||||
│ │ │ │ ├── map.d
|
||||
│ │ │ │ └── map.o
|
||||
│ │ │ ├── po
|
||||
│ │ │ │ ├── shtdwn.d
|
||||
│ │ │ │ └── shtdwn.o
|
||||
│ │ │ ├── ps
|
||||
│ │ │ │ ├── sched.d
|
||||
│ │ │ │ └── sched.o
|
||||
│ │ │ └── sh
|
||||
│ │ │ ├── shcmds.d
|
||||
│ │ │ ├── shcmds.o
|
||||
│ │ │ ├── shell.d
|
||||
│ │ │ └── shell.o
|
||||
│ │ ├── libbuf
|
||||
│ │ │ ├── bclose.d
|
||||
│ │ │ ├── bclose.o
|
||||
│ │ │ ├── bflush.d
|
||||
│ │ │ ├── bflush.o
|
||||
│ │ │ ├── bgetc.d
|
||||
│ │ │ ├── bgetc.o
|
||||
│ │ │ ├── bmisc.d
|
||||
│ │ │ ├── bmisc.o
|
||||
│ │ │ ├── bopen.d
|
||||
│ │ │ ├── bopen.o
|
||||
│ │ │ ├── bprint.d
|
||||
│ │ │ ├── bprint.o
|
||||
│ │ │ ├── bputc.d
|
||||
│ │ │ ├── bputc.o
|
||||
│ │ │ ├── bread.d
|
||||
│ │ │ ├── bread.o
|
||||
│ │ │ ├── bscan.d
|
||||
│ │ │ ├── bscan.o
|
||||
│ │ │ ├── bscroll.d
|
||||
│ │ │ ├── bscroll.o
|
||||
│ │ │ ├── bwrite.d
|
||||
│ │ │ └── bwrite.o
|
||||
│ │ └── libc
|
||||
│ │ ├── atoi.o
|
||||
│ │ ├── ctype.d
|
||||
│ │ ├── ctype.o
|
||||
│ │ ├── itoa.o
|
||||
│ │ ├── mem.d
|
||||
│ │ ├── mem.o
|
||||
│ │ ├── rand.d
|
||||
│ │ ├── rand.o
|
||||
│ │ ├── sprintf.d
|
||||
│ │ ├── sprintf.o
|
||||
│ │ ├── status.d
|
||||
│ │ ├── status.o
|
||||
│ │ ├── string.d
|
||||
│ │ ├── string.o
|
||||
│ │ ├── strtol.d
|
||||
│ │ └── strtol.o
|
||||
│ ├── grub.log
|
||||
│ ├── kaleid32_disasm.asm
|
||||
@ -156,10 +197,10 @@
|
||||
│ ├── kernel
|
||||
│ │ ├── cpu
|
||||
│ │ │ ├── cpuf.asm
|
||||
│ │ │ ├── cpuf.inc
|
||||
│ │ │ ├── cpuid.c
|
||||
│ │ │ ├── idt.c
|
||||
│ │ │ ├── isr.asm
|
||||
│ │ │ └── isr.inc
|
||||
│ │ │ └── isr.asm
|
||||
│ │ ├── init
|
||||
│ │ │ ├── info.c
|
||||
│ │ │ ├── init.c
|
||||
@ -218,4 +259,4 @@
|
||||
├── ProjectTree
|
||||
└── README.md
|
||||
|
||||
41 directories, 152 files
|
||||
41 directories, 193 files
|
||||
|
@ -25,11 +25,11 @@
|
||||
#include <kernel/cpuid.h>
|
||||
|
||||
|
||||
void CpuGetInfos(void)
|
||||
{
|
||||
CpuCpuidString(0, CpuVendorString);
|
||||
return (char *)&CpuVendorString[1];
|
||||
}
|
||||
/* void CpuGetInfos(void) */
|
||||
/* { */
|
||||
/* CpuCpuidString(0, CpuVendorString); */
|
||||
/* return (char *)&CpuVendorString[1]; */
|
||||
/* } */
|
||||
|
||||
|
||||
|
||||
|
@ -62,9 +62,6 @@ noreturn void BtStartKern(multiboot_info_t *mbInfo, uint mbMagic, void *codeSeg)
|
||||
IoGetRtcTimeChar();
|
||||
IoPrintRtcTime();
|
||||
|
||||
extern void PrintVendorString(void);
|
||||
PrintVendorString();
|
||||
|
||||
KeStartShell();
|
||||
|
||||
KernLog("End of input reached\n");
|
||||
|
Loading…
Reference in New Issue
Block a user