mirror of
https://gitlab.os-k.eu/os-k-team/os-k.git
synced 2023-08-25 14:03:10 +02:00
Preliminary cleanup before big changes
This commit is contained in:
parent
30fea86300
commit
32db8a0a9e
@ -99,3 +99,8 @@ IDT Overhaul
|
||||
* GDT : CS and TSS works
|
||||
* IDT : Double Fault and Stack Segment Fault have a separate stack
|
||||
* Stack : guard pages are now fully functionnal
|
||||
|
||||
[...] Time Skip
|
||||
|
||||
2019-11-08 @os-k-team <os-k-team@os-k.eu>
|
||||
* Compilation process : beginning the modernization
|
91
Makefile
91
Makefile
@ -25,6 +25,7 @@
|
||||
.PHONY: all test test32 debug gdb install_mbr dust clean OS/K
|
||||
.DELETE_ON_ERROR: $(BINDIR)/kaleid
|
||||
|
||||
|
||||
## VARIABLES ----------------------------------------------------------------- #
|
||||
|
||||
# Debug
|
||||
@ -117,9 +118,11 @@ KernDep=$(patsubst %.c,$(KOBJDIR)/%.d,$(KernSources))
|
||||
|
||||
## KALEID MAKEFILE ----------------------------------------------------------- #
|
||||
|
||||
all : OS/K $(dep)
|
||||
all : OS/K
|
||||
|
||||
|
||||
## MISC MAKEFILE ------------------------------------------------------------- #
|
||||
|
||||
./ProjectTree: ./.stylehlp_sh
|
||||
@cat ./.stylehlp_sh > ./ProjectTree
|
||||
@echo "\n" >> ./ProjectTree
|
||||
@ -133,7 +136,16 @@ wc:
|
||||
@rm -f build/kaleid*_disasm.asm
|
||||
@cat $(shell find -name *.[ch]) $(shell find -name *.asm) $(shell find -name *.inc) | wc -l
|
||||
|
||||
egypt: CFLAGS := -DNDEBUG $(filter-out -fstack-protector-all,$(CFLAGS))
|
||||
egypt: dust $(LibCObj) $(KernObj)
|
||||
@find -name '*.expand' -o -name '*.expand' | xargs cat > rtl_exp.out
|
||||
@egypt < rtl_exp.out | dot -Tps -o osk-graph.ps
|
||||
@rm -f rtl_exp.out
|
||||
@evince osk-graph.ps &
|
||||
|
||||
|
||||
## LIB C MAKEFILE ------------------------------------------------------------ #
|
||||
|
||||
-include $(LibCDep)
|
||||
|
||||
$(KOBJDIR)/libc/atoi.o: $(KALEIDDIR)/libc/atoi.c | $(KOBJDIR)
|
||||
@ -161,7 +173,9 @@ $(KOBJDIR)/libc/mem.o: $(KALEIDDIR)/libc/mem.c | $(KOBJDIR)
|
||||
@$(KCC) -fno-strict-aliasing $< -o $@
|
||||
@echo ${CL2}[$@] ${CL}Compiled.${CL3}
|
||||
|
||||
|
||||
## KERNEL MAKEFILE ----------------------------------------------------------- #
|
||||
|
||||
-include $(KernDep)
|
||||
|
||||
$(KOBJDIR)/kernel/ke/idt.o: $(KALEIDDIR)/kernel/ke/idt.c \
|
||||
@ -209,12 +223,15 @@ $(KOBJDIR)/kernel/io/ata.o: $(KALEIDDIR)/kernel/io/ata.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 | $(KOBJDIR)
|
||||
@ -222,6 +239,30 @@ $(KOBJDIR)/%.o: %.c | $(KOBJDIR)
|
||||
@$(KCC) $< -o $@
|
||||
@echo ${CL2}[$@] ${CL}Compiled.${CL3}
|
||||
|
||||
$(BINDIR)/kaleid: $(LOBJDIR)/kaleid.x86_64
|
||||
@echo ${CL2}[$@] ${NC}Objcopy...${CL3}
|
||||
@$(OBJCOPY) -I elf64-x86-64 -O elf32-i386 $(LOBJDIR)/kaleid.x86_64 $(BINDIR)/kaleid
|
||||
#@make copy_kernel
|
||||
@echo ${CL2}[$@] ${CL}Success.${CL3}
|
||||
|
||||
$(LOBJDIR)/kaleid.x86_64: $(LibCObj) $(KernObj) $(LOBJDIR)/loader.o
|
||||
@echo ${CL2}[$@] ${NC}Linking kernel objects...${CL3}
|
||||
@$(LD) $(LDFLAGS) -T $(BUILDDIR)/kernel.ld \
|
||||
$(LOBJDIR)/loader.o $(KernObj) $(LibCObj) \
|
||||
-o $(LOBJDIR)/kaleid.x86_64
|
||||
@echo ${CL2}[$@] ${CL}Success.${CL3}
|
||||
|
||||
$(LOBJDIR)/loader.o: $(LOADERDIR)/loader.asm $(LOADERDIR)/*/*.inc
|
||||
@echo ${CL2}[$@] ${NC}Making loader...${CL3}
|
||||
@mkdir -p $(shell dirname $@)
|
||||
@$(ASM) $(ASMFLAGS) $(LOADERDIR)/loader.asm -o $(LOBJDIR)/loader.o > /dev/null
|
||||
@echo ${CL2}[$@] ${CL}Success.${CL3}
|
||||
|
||||
OS/K: $(dep) ./ProjectTree $(BINDIR)/kaleid
|
||||
@echo ${CL2}[[$@]] ${NC} OS/K successfully made, $(mode) mode.${CL3}
|
||||
|
||||
## QEMU/DEBUG RELATED
|
||||
|
||||
test: all
|
||||
@qemu-system-x86_64 -vga std -cpu core2duo -soundhw pcspk -s \
|
||||
-rtc base=localtime -m $(ram) -hda $(BUILDDIR)/bin/disk.img \
|
||||
@ -246,10 +287,12 @@ ddd: all
|
||||
-no-shutdown -d cpu_reset,guest_errors,pcall,int -s 2> $(BUILDDIR)/qemu.log &
|
||||
@ddd
|
||||
|
||||
|
||||
## HD IMAGE RELATED ---------------------------------------------------------- #
|
||||
|
||||
install_mbr: $(BINDIR)/disk.img $(MBRDIR)/grub.cfg
|
||||
@mkdir -p $(BINDIR)/disk
|
||||
@echo ${CL2}[$@] ${NC}Installing MBR on image...${CL3}
|
||||
-@$(MBRDIR)/umount.sh $(BINDIR)/disk || /bin/true
|
||||
@$(MBRDIR)/grub-install.sh $(BINDIR)/disk.img $(BINDIR)/disk $(MBRDIR)/grub.cfg
|
||||
@rmdir $(BINDIR)/disk
|
||||
@echo ${CL2}[$@] ${CL}Success.${CL3}
|
||||
@ -264,12 +307,15 @@ copy_kernel:
|
||||
@echo ${CL2}[$@] ${CL}Success.${CL3}
|
||||
@rmdir $(BINDIR)/disk
|
||||
|
||||
egypt: CFLAGS := -DNDEBUG $(filter-out -fstack-protector-all,$(CFLAGS))
|
||||
egypt: dust $(LibCObj) $(KernObj)
|
||||
@find -name '*.expand' -o -name '*.expand' | xargs cat > rtl_exp.out
|
||||
@egypt < rtl_exp.out | dot -Tps -o osk-graph.ps
|
||||
@rm -f rtl_exp.out
|
||||
@evince osk-graph.ps &
|
||||
$(BINDIR)/disk.img: $(MBRDIR)/create_disk.sh
|
||||
@echo ${CL2}[$@]${NC} Constructing disk image...${CL3}
|
||||
-@$(MBRDIR)/umount.sh $(BINDIR)/disk || /bin/true
|
||||
@$(MBRDIR)/create_disk.sh $(BINDIR)/disk.img
|
||||
@make install_mbr
|
||||
@echo ${CL2}[$@]${NC} Constructing disk image...${CL3}
|
||||
|
||||
|
||||
## CLEANUP RELATED ----------------------------------------------------------- #
|
||||
|
||||
dust:
|
||||
-@$(MBRDIR)/umount.sh $(BINDIR)/disk || /bin/true
|
||||
@ -281,32 +327,3 @@ clean:
|
||||
@rm -Rvf ./ProjectTree $(BUILDDIR)/*.log
|
||||
@rm -Rvf $(BINDIR)/* $(OBJDIR)/*
|
||||
@echo ${CL2}[$@] ${CL}Cleaned.${CL3}
|
||||
|
||||
$(BINDIR)/kaleid: $(LOBJDIR)/kaleid.x86_64
|
||||
@echo ${CL2}[$@] ${NC}Objcopy...${CL3}
|
||||
@$(OBJCOPY) -I elf64-x86-64 -O elf32-i386 $(LOBJDIR)/kaleid.x86_64 $(BINDIR)/kaleid
|
||||
@make copy_kernel
|
||||
@echo ${CL2}[$@] ${CL}Success.${CL3}
|
||||
|
||||
$(LOBJDIR)/kaleid.x86_64: $(LibCObj) $(KernObj) $(LOBJDIR)/loader.o
|
||||
@echo ${CL2}[$@] ${NC}Linking kernel objects...${CL3}
|
||||
@$(LD) $(LDFLAGS) -T $(BUILDDIR)/kernel.ld \
|
||||
$(LOBJDIR)/loader.o $(KernObj) $(LibCObj) \
|
||||
-o $(LOBJDIR)/kaleid.x86_64
|
||||
@echo ${CL2}[$@] ${CL}Success.${CL3}
|
||||
|
||||
$(LOBJDIR)/loader.o: $(LOADERDIR)/loader.asm $(LOADERDIR)/*/*.inc
|
||||
@echo ${CL2}[$@] ${NC}Making loader...${CL3}
|
||||
@mkdir -p $(shell dirname $@)
|
||||
@$(ASM) $(ASMFLAGS) $(LOADERDIR)/loader.asm -o $(LOBJDIR)/loader.o > /dev/null
|
||||
@echo ${CL2}[$@] ${CL}Success.${CL3}
|
||||
|
||||
$(BINDIR)/disk.img: $(MBRDIR)/create_disk.sh
|
||||
@echo ${CL2}[$@]${NC} Constructing disk image...${CL3}
|
||||
-@$(MBRDIR)/umount.sh $(BINDIR)/disk || /bin/true
|
||||
@$(MBRDIR)/create_disk.sh $(BINDIR)/disk.img
|
||||
@make install_mbr
|
||||
@echo ${CL2}[$@]${NC} Constructing disk image...${CL3}
|
||||
|
||||
OS/K: $(BINDIR)/disk.img $(BINDIR)/kaleid ./ProjectTree
|
||||
@echo ${CL2}[[$@]] ${NC} OS/K successfully made, $(mode) mode.${CL3}
|
||||
|
111
ProjectTree
111
ProjectTree
@ -48,152 +48,61 @@
|
||||
│ └── folder.desc
|
||||
├── build
|
||||
│ ├── bin
|
||||
│ │ ├── disk.img
|
||||
│ │ └── kaleid
|
||||
│ ├── obj
|
||||
│ │ ├── boot
|
||||
│ │ │ ├── kaleid.x86_64
|
||||
│ │ │ └── loader.o
|
||||
│ │ └── kaleid
|
||||
│ │ ├── kernel
|
||||
│ │ │ ├── init
|
||||
│ │ │ │ ├── info.c.229r.expand
|
||||
│ │ │ │ ├── info.d
|
||||
│ │ │ │ ├── info.o
|
||||
│ │ │ │ ├── init.c.229r.expand
|
||||
│ │ │ │ ├── init.d
|
||||
│ │ │ │ ├── init.o
|
||||
│ │ │ │ ├── ssp.c.229r.expand
|
||||
│ │ │ │ ├── ssp.d
|
||||
│ │ │ │ ├── ssp.o
|
||||
│ │ │ │ ├── table.d
|
||||
│ │ │ │ └── table.o
|
||||
│ │ │ │ └── table.d
|
||||
│ │ │ ├── io
|
||||
│ │ │ │ ├── ata.c.229r.expand
|
||||
│ │ │ │ ├── ata.d
|
||||
│ │ │ │ ├── ata.o
|
||||
│ │ │ │ ├── cursor.c.229r.expand
|
||||
│ │ │ │ ├── cursor.d
|
||||
│ │ │ │ ├── cursor.o
|
||||
│ │ │ │ ├── keyb.c.229r.expand
|
||||
│ │ │ │ ├── keyb.d
|
||||
│ │ │ │ ├── keyb.o
|
||||
│ │ │ │ ├── spkr.c.229r.expand
|
||||
│ │ │ │ ├── spkr.d
|
||||
│ │ │ │ ├── spkr.o
|
||||
│ │ │ │ ├── vga.c.229r.expand
|
||||
│ │ │ │ ├── vga.d
|
||||
│ │ │ │ └── vga.o
|
||||
│ │ │ │ └── vga.d
|
||||
│ │ │ ├── ke
|
||||
│ │ │ │ ├── cpuid.c.229r.expand
|
||||
│ │ │ │ ├── cpuid.d
|
||||
│ │ │ │ ├── cpuid.o
|
||||
│ │ │ │ ├── idt.c.229r.expand
|
||||
│ │ │ │ ├── idt.d
|
||||
│ │ │ │ ├── idt.o
|
||||
│ │ │ │ ├── log.c.229r.expand
|
||||
│ │ │ │ ├── log.d
|
||||
│ │ │ │ ├── log.o
|
||||
│ │ │ │ ├── panic.c.229r.expand
|
||||
│ │ │ │ ├── panic.d
|
||||
│ │ │ │ ├── panic.o
|
||||
│ │ │ │ ├── rtc.c.229r.expand
|
||||
│ │ │ │ ├── rtc.d
|
||||
│ │ │ │ └── rtc.o
|
||||
│ │ │ │ └── rtc.d
|
||||
│ │ │ ├── mm
|
||||
│ │ │ │ ├── gdt.c.229r.expand
|
||||
│ │ │ │ ├── gdt.d
|
||||
│ │ │ │ ├── gdt.o
|
||||
│ │ │ │ ├── heap.c.229r.expand
|
||||
│ │ │ │ ├── heap.d
|
||||
│ │ │ │ ├── heap.o
|
||||
│ │ │ │ ├── malloc.c.229r.expand
|
||||
│ │ │ │ ├── malloc.d
|
||||
│ │ │ │ ├── malloc.o
|
||||
│ │ │ │ ├── map.c.229r.expand
|
||||
│ │ │ │ ├── map.d
|
||||
│ │ │ │ ├── map.o
|
||||
│ │ │ │ ├── paging.c.229r.expand
|
||||
│ │ │ │ ├── paging.d
|
||||
│ │ │ │ └── paging.o
|
||||
│ │ │ │ └── paging.d
|
||||
│ │ │ ├── po
|
||||
│ │ │ │ ├── shtdwn.c.229r.expand
|
||||
│ │ │ │ ├── shtdwn.d
|
||||
│ │ │ │ └── shtdwn.o
|
||||
│ │ │ │ └── shtdwn.d
|
||||
│ │ │ ├── ps
|
||||
│ │ │ │ ├── sched.d
|
||||
│ │ │ │ └── sched.o
|
||||
│ │ │ │ └── sched.d
|
||||
│ │ │ └── sh
|
||||
│ │ │ ├── argv.c.229r.expand
|
||||
│ │ │ ├── argv.d
|
||||
│ │ │ ├── argv.o
|
||||
│ │ │ ├── musage.c.229r.expand
|
||||
│ │ │ ├── musage.d
|
||||
│ │ │ ├── musage.o
|
||||
│ │ │ ├── shcmds.c.229r.expand
|
||||
│ │ │ ├── shcmds.d
|
||||
│ │ │ ├── shcmds.o
|
||||
│ │ │ ├── shell.c.229r.expand
|
||||
│ │ │ ├── shell.d
|
||||
│ │ │ └── shell.o
|
||||
│ │ │ └── shell.d
|
||||
│ │ ├── libbuf
|
||||
│ │ │ ├── bclose.c.229r.expand
|
||||
│ │ │ ├── bclose.d
|
||||
│ │ │ ├── bclose.o
|
||||
│ │ │ ├── bflush.c.229r.expand
|
||||
│ │ │ ├── bflush.d
|
||||
│ │ │ ├── bflush.o
|
||||
│ │ │ ├── bgetc.c.229r.expand
|
||||
│ │ │ ├── bgetc.d
|
||||
│ │ │ ├── bgetc.o
|
||||
│ │ │ ├── bmisc.c.229r.expand
|
||||
│ │ │ ├── bmisc.d
|
||||
│ │ │ ├── bmisc.o
|
||||
│ │ │ ├── bopen.c.229r.expand
|
||||
│ │ │ ├── bopen.d
|
||||
│ │ │ ├── bopen.o
|
||||
│ │ │ ├── bprint.c.229r.expand
|
||||
│ │ │ ├── bprint.d
|
||||
│ │ │ ├── bprint.o
|
||||
│ │ │ ├── bputc.c.229r.expand
|
||||
│ │ │ ├── bputc.d
|
||||
│ │ │ ├── bputc.o
|
||||
│ │ │ ├── bread.d
|
||||
│ │ │ ├── bread.o
|
||||
│ │ │ ├── bscan.d
|
||||
│ │ │ ├── bscan.o
|
||||
│ │ │ ├── bscroll.c.229r.expand
|
||||
│ │ │ ├── bscroll.d
|
||||
│ │ │ ├── bscroll.o
|
||||
│ │ │ ├── bwrite.d
|
||||
│ │ │ └── bwrite.o
|
||||
│ │ │ └── bwrite.d
|
||||
│ │ └── libc
|
||||
│ │ ├── atoi.c.229r.expand
|
||||
│ │ ├── atoi.o
|
||||
│ │ ├── ctype.c.229r.expand
|
||||
│ │ ├── ctype.d
|
||||
│ │ ├── ctype.o
|
||||
│ │ ├── errno.c.229r.expand
|
||||
│ │ ├── errno.d
|
||||
│ │ ├── errno.o
|
||||
│ │ ├── itoa.c.229r.expand
|
||||
│ │ ├── itoa.o
|
||||
│ │ ├── mem.c.229r.expand
|
||||
│ │ ├── mem.d
|
||||
│ │ ├── mem.o
|
||||
│ │ ├── rand.c.229r.expand
|
||||
│ │ ├── rand.d
|
||||
│ │ ├── rand.o
|
||||
│ │ ├── sprintf.c.229r.expand
|
||||
│ │ ├── sprintf.d
|
||||
│ │ ├── sprintf.o
|
||||
│ │ ├── string.c.229r.expand
|
||||
│ │ ├── string.d
|
||||
│ │ ├── string.o
|
||||
│ │ ├── strtol.c.229r.expand
|
||||
│ │ ├── strtol.d
|
||||
│ │ └── strtol.o
|
||||
│ ├── grub.log
|
||||
│ │ └── strtol.d
|
||||
│ └── kernel.ld
|
||||
├── include
|
||||
│ ├── ex
|
||||
@ -302,4 +211,4 @@
|
||||
├── ProjectTree
|
||||
└── README.md
|
||||
|
||||
42 directories, 235 files
|
||||
41 directories, 145 files
|
||||
|
Loading…
Reference in New Issue
Block a user