mirror of
https://github.com/justinian/jsix.git
synced 2025-12-10 00:14:32 -08:00
Move src/modules/main -> src/kernel
This commit is contained in:
40
Makefile
40
Makefile
@@ -3,6 +3,7 @@ ARCH ?= x86_64
|
|||||||
include src/arch/$(ARCH)/config.mk
|
include src/arch/$(ARCH)/config.mk
|
||||||
|
|
||||||
BUILD_D := build
|
BUILD_D := build
|
||||||
|
KERN_D := src/kernel
|
||||||
ARCH_D := src/arch/$(ARCH)
|
ARCH_D := src/arch/$(ARCH)
|
||||||
VERSION ?= $(shell git describe --dirty --always)
|
VERSION ?= $(shell git describe --dirty --always)
|
||||||
GITSHA ?= $(shell git rev-parse --short HEAD)
|
GITSHA ?= $(shell git rev-parse --short HEAD)
|
||||||
@@ -10,7 +11,7 @@ GITSHA ?= $(shell git rev-parse --short HEAD)
|
|||||||
KERNEL_FILENAME:= popcorn.bin
|
KERNEL_FILENAME:= popcorn.bin
|
||||||
KERNEL_FONT := assets/fonts/tamsyn8x16r.psf
|
KERNEL_FONT := assets/fonts/tamsyn8x16r.psf
|
||||||
|
|
||||||
MODULES := main
|
MODULES :=
|
||||||
|
|
||||||
|
|
||||||
EFI_DIR := external/gnu-efi
|
EFI_DIR := external/gnu-efi
|
||||||
@@ -92,12 +93,15 @@ INIT_DEP := $(BUILD_D)/.builddir
|
|||||||
|
|
||||||
BOOT_SRCS := $(wildcard src/boot/*.c)
|
BOOT_SRCS := $(wildcard src/boot/*.c)
|
||||||
BOBJS += $(patsubst src/boot/%,$(BUILD_D)/boot/%,$(patsubst %,%.o,$(BOOT_SRCS)))
|
BOBJS += $(patsubst src/boot/%,$(BUILD_D)/boot/%,$(patsubst %,%.o,$(BOOT_SRCS)))
|
||||||
BDEPS := $(patsubst src/boot/%,$(BUILD_D)/boot/%,$(patsubst %,%.d,$(BOOT_SRCS)))
|
|
||||||
|
|
||||||
ARCH_SRCS := $(wildcard $(ARCH_D)/*.s)
|
KERN_SRCS := $(wildcard $(KERN_D)/*.s)
|
||||||
ARCH_SRCS += $(wildcard $(ARCH_D)/*.c)
|
KERN_SRCS += $(wildcard $(KERN_D)/*.c)
|
||||||
KOBJS += $(patsubst $(ARCH_D)/%,$(BUILD_D)/arch/%,$(patsubst %,%.o,$(ARCH_SRCS)))
|
KERN_SRCS += $(wildcard $(KERN_D)/*.cpp)
|
||||||
DEPS := $(patsubst $(ARCH_D)/%,$(BUILD_D)/arch/%,$(patsubst %,%.d,$(ARCH_SRCS)))
|
KERN_SRCS += $(wildcard $(ARCH_D)/*.s)
|
||||||
|
KERN_SRCS += $(wildcard $(ARCH_D)/*.c)
|
||||||
|
|
||||||
|
KERN_OBJS := $(patsubst src/%, $(BUILD_D)/%, $(patsubst %,%.o,$(KERN_SRCS)))
|
||||||
|
|
||||||
MOD_TARGETS :=
|
MOD_TARGETS :=
|
||||||
|
|
||||||
PARTED ?= /sbin/parted
|
PARTED ?= /sbin/parted
|
||||||
@@ -120,19 +124,24 @@ init: $(INIT_DEP)
|
|||||||
$(INIT_DEP):
|
$(INIT_DEP):
|
||||||
mkdir -p $(BUILD_D) $(patsubst %,$(BUILD_D)/d.%,$(MODULES))
|
mkdir -p $(BUILD_D) $(patsubst %,$(BUILD_D)/d.%,$(MODULES))
|
||||||
mkdir -p $(BUILD_D)/boot
|
mkdir -p $(BUILD_D)/boot
|
||||||
mkdir -p $(BUILD_D)/arch
|
mkdir -p $(patsubst src/%,$(BUILD_D)/%,$(ARCH_D))
|
||||||
|
mkdir -p $(patsubst src/%,$(BUILD_D)/%,$(KERN_D))
|
||||||
touch $(INIT_DEP)
|
touch $(INIT_DEP)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf $(BUILD_D)/* $(BUILD_D)/.version $(BUILD_D)/.builddir
|
rm -rf $(BUILD_D)/* $(BUILD_D)/.version $(BUILD_D)/.builddir
|
||||||
|
|
||||||
|
vars:
|
||||||
|
@echo "KERN_SRCS: " $(KERN_SRCS)
|
||||||
|
@echo "KERN_OBJS: " $(KERN_OBJS)
|
||||||
|
|
||||||
dist-clean: clean
|
dist-clean: clean
|
||||||
make -C external/gnu-efi clean
|
make -C external/gnu-efi clean
|
||||||
|
|
||||||
dump: $(BUILD_D)/kernel.dump
|
dump: $(BUILD_D)/kernel.dump
|
||||||
vim $<
|
vim $<
|
||||||
|
|
||||||
.PHONY: all clean dist-clean init dump
|
.PHONY: all clean dist-clean init dump vars
|
||||||
|
|
||||||
$(BUILD_D)/.version:
|
$(BUILD_D)/.version:
|
||||||
echo '$(VERSION)' | cmp -s - $@ || echo '$(VERSION)' > $@
|
echo '$(VERSION)' | cmp -s - $@ || echo '$(VERSION)' > $@
|
||||||
@@ -141,7 +150,7 @@ $(BUILD_D)/versions.s:
|
|||||||
./parse_version.py "$(VERSION)" "$(GITSHA)" > $@
|
./parse_version.py "$(VERSION)" "$(GITSHA)" > $@
|
||||||
|
|
||||||
-include x $(patsubst %,src/modules/%/module.mk,$(MODULES))
|
-include x $(patsubst %,src/modules/%/module.mk,$(MODULES))
|
||||||
-include x $(DEPS)
|
-include x $(shell find $(BUILD_D) -type f -name '*.d')
|
||||||
|
|
||||||
$(EFI_LIB):
|
$(EFI_LIB):
|
||||||
make -C external/gnu-efi all
|
make -C external/gnu-efi all
|
||||||
@@ -174,19 +183,22 @@ $(BUILD_D)/boot/%.s.o: src/boot/%.s $(BUILD_D)/versions.s $(INIT_DEP)
|
|||||||
$(BUILD_D)/boot/%.c.o: src/boot/%.c $(INIT_DEP)
|
$(BUILD_D)/boot/%.c.o: src/boot/%.c $(INIT_DEP)
|
||||||
$(CC) $(BOOT_CFLAGS) -c -o $@ $<
|
$(CC) $(BOOT_CFLAGS) -c -o $@ $<
|
||||||
|
|
||||||
$(BUILD_D)/kernel.elf: $(KOBJS) $(MOD_TARGETS) $(ARCH_D)/kernel.ld
|
$(BUILD_D)/kernel.elf: $(KERN_OBJS) $(MOD_TARGETS) $(ARCH_D)/kernel.ld
|
||||||
$(LD) $(LDFLAGS) -u _header -T $(ARCH_D)/kernel.ld -o $@ $(patsubst %,-l%,$(MODULES)) $(KOBJS)
|
$(LD) $(LDFLAGS) -u _header -T $(ARCH_D)/kernel.ld -o $@ $(patsubst %,-l%,$(MODULES)) $(KERN_OBJS)
|
||||||
$(OBJC) --only-keep-debug $@ $@.sym
|
$(OBJC) --only-keep-debug $@ $@.sym
|
||||||
|
|
||||||
$(BUILD_D)/kernel.dump: $(BUILD_D)/kernel.elf
|
$(BUILD_D)/kernel.dump: $(BUILD_D)/kernel.elf
|
||||||
$(OBJD) -D -S $< > $@
|
$(OBJD) -D -S $< > $@
|
||||||
|
|
||||||
$(BUILD_D)/arch/%.s.o: $(ARCH_D)/%.s $(BUILD_D)/versions.s $(INIT_DEP)
|
$(BUILD_D)/%.s.o: src/%.s $(BUILD_D)/versions.s $(INIT_DEP)
|
||||||
$(AS) $(ASFLAGS) -i $(ARCH_D)/ -o $@ $<
|
$(AS) $(ASFLAGS) -i $(ARCH_D)/ -i $(KERN_D)/ -o $@ $<
|
||||||
|
|
||||||
$(BUILD_D)/arch/%.c.o: $(ARCH_D)/%.c $(INIT_DEP)
|
$(BUILD_D)/%.c.o: src/%.c $(INIT_DEP)
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
$(CC) $(CFLAGS) -c -o $@ $<
|
||||||
|
|
||||||
|
$(BUILD_D)/%.cpp.o: src/%.cpp $(INIT_DEP)
|
||||||
|
$(CXX) $(CXXFLAGS) -c -o $@ $<
|
||||||
|
|
||||||
$(BUILD_D)/flash.img: $(OVMF)
|
$(BUILD_D)/flash.img: $(OVMF)
|
||||||
cp $^ $@
|
cp $^ $@
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user