diff --git a/Makefile b/Makefile index 912caaf..bdadf82 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,11 @@ OBJ = $(SRC_C:%.c=build/%.o) $(SRC_CPP:%.cpp=build/%.o) _bd: @mkdir -p build/graphics build/kernel build/fonts -all: _bd $(OBJ) +gnu-efi/x86_64/gnuefi/crt0-efi-x86_64.o: + @echo "* Building gnu-efi..." + @$(MAKE) -C gnu-efi ARCH=x86_64 + +all: _bd gnu-efi/x86_64/gnuefi/crt0-efi-x86_64.o $(OBJ) @echo "* Linking EFI..." @ld $(LDFLAGS) gnu-efi/x86_64/gnuefi/crt0-efi-x86_64.o $(OBJ) -o build/boot.so $(LDLIBS) @objcopy -j .text -j .sdata -j .data -j .rodata -j .dynamic -j .dynsym -j .rel -j .rela -j .rel.* -j .rela.* -j .reloc --output-target efi-app-x86_64 --subsystem=10 build/boot.so build/BOOTX64.EFI @@ -34,5 +38,6 @@ run: vdir clean: @echo "Cleaning old files" @rm -rf build vdir + @$(MAKE) -C gnu-efi clean 2>/dev/null || true .PHONY: all vdir run clean _bd \ No newline at end of file diff --git a/README.md b/README.md index 9e75af1..5573f89 100644 --- a/README.md +++ b/README.md @@ -4,4 +4,24 @@ Sylva源于拉丁语“森林”,就是本操作系统的宗旨:简单、绿 本操作系统在[GPL-3.0](LICENSE)协议下开源,欢迎各位fork二次开发,或是为提交Issues或PR做出贡献。 +## 二次开发请注意 + +1. clone项目 + +使用 + +```bash +git clone --recurse-submodules https://cnb.cool/patrickyao/SylvaOS.git +``` + +2. 提交前请注意(重要!) + +记得`make clean`!!!`gnu-efi`会生成两个文件,但这两个文件没有被加入.gitignore,也不能加入,所以一定要`make clean`!!! + +--- + +## 声明 + +本项目使用`gnu-efi`作为子模块并遵守开源协议使用。 + 你可能还需要看看:[字体使用声明](fonts/README.md) \ No newline at end of file