Skip to content

Commit 37701de

Browse files
committed
build: Simplify BIOS stage1 decompressor build system
It is now a single assembly file so it can be simplified.
1 parent 18f08ed commit 37701de

File tree

7 files changed

+17
-144
lines changed

7 files changed

+17
-144
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
/common/lib/stb_image.h
3232
/common/cc-runtime.s2.c
3333
/cc-runtime
34-
/decompressor/cc-runtime.c
3534
/libfdt
3635
/edk2-ovmf
3736
/bochsout.txt
@@ -55,6 +54,7 @@
5554
/common-uefi-riscv64
5655
/common-uefi-loongarch64
5756
/decompressor-build
57+
/tools-build
5858
/stage1.stamp
5959

6060

GNUmakefile.in

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ limine:
124124
$(MAKE) '$(call SHESCAPE,$(BINDIR))/limine'
125125

126126
.PHONY: clean
127-
clean: limine-bios-clean limine-uefi-ia32-clean limine-uefi-x86-64-clean limine-uefi-aarch64-clean limine-uefi-riscv64-clean limine-uefi-loongarch64-clean
127+
clean: tools-clean limine-bios-clean limine-uefi-ia32-clean limine-uefi-x86-64-clean limine-uefi-aarch64-clean limine-uefi-riscv64-clean limine-uefi-loongarch64-clean
128128
rm -rf '$(call SHESCAPE,$(BINDIR))' '$(call SHESCAPE,$(BUILDDIR))/stage1.stamp'
129129

130130
.PHONY: install
@@ -187,7 +187,9 @@ uninstall:
187187
rm -f '$(call SHESCAPE,$(DESTDIR)$(bindir))/limine'
188188
rm -rf '$(call SHESCAPE,$(DESTDIR)$(datarootdir))/limine'
189189

190-
$(call MKESCAPE,$(BUILDDIR))/stage1.stamp: $(STAGE1_FILES) $(call MKESCAPE,$(BUILDDIR))/decompressor-build/decompressor.bin $(call MKESCAPE,$(BUILDDIR))/common-bios/stage2.bin.limlz
190+
$(call MKESCAPE,$(BUILDDIR))/stage1.stamp: $(STAGE1_FILES) $(call MKESCAPE,$(BUILDDIR))/common-bios/stage2.bin.limlz
191+
$(MKDIR_P) '$(call SHESCAPE,$(BUILDDIR))/decompressor-build'
192+
cd '$(call SHESCAPE,$(SRCDIR))/stage1' && nasm decompressor.asm -Wall -w-unknown-warning -w-reloc $(WERROR_FLAG) -fbin -o '$(call SHESCAPE,$(BUILDDIR))/decompressor-build/decompressor.bin'
191193
$(MKDIR_P) '$(call SHESCAPE,$(BINDIR))'
192194
cd '$(call SHESCAPE,$(SRCDIR))/stage1/hdd' && nasm bootsect.asm -Wall -w-unknown-warning -w-reloc $(WERROR_FLAG) -fbin -DBUILDDIR="'"'$(call NASMESCAPE,$(BUILDDIR))'"'" -o '$(call SHESCAPE,$(BINDIR))/limine-bios-hdd.bin'
193195
ifneq ($(BUILD_BIOS_CD),no)
@@ -200,7 +202,7 @@ endif
200202
touch '$(call SHESCAPE,$(BUILDDIR))/stage1.stamp'
201203

202204
.PHONY: limine-bios
203-
limine-bios: common-bios decompressor
205+
limine-bios: common-bios
204206
$(MAKE) '$(call SHESCAPE,$(BUILDDIR))/stage1.stamp'
205207

206208
$(call MKESCAPE,$(BINDIR))/limine-uefi-cd.bin: $(if $(BUILD_UEFI_IA32),$(call MKESCAPE,$(BUILDDIR))/common-uefi-ia32/BOOTIA32.EFI) $(if $(BUILD_UEFI_X86_64),$(call MKESCAPE,$(BUILDDIR))/common-uefi-x86-64/BOOTX64.EFI) $(if $(BUILD_UEFI_AARCH64),$(call MKESCAPE,$(BUILDDIR))/common-uefi-aarch64/BOOTAA64.EFI) $(if $(BUILD_UEFI_RISCV64),$(call MKESCAPE,$(BUILDDIR))/common-uefi-riscv64/BOOTRISCV64.EFI) $(if $(BUILD_UEFI_LOONGARCH64),$(call MKESCAPE,$(BUILDDIR))/common-uefi-loongarch64/BOOTLOONGARCH64.EFI)
@@ -328,7 +330,7 @@ distclean: clean
328330

329331
.PHONY: maintainer-clean
330332
maintainer-clean: distclean
331-
cd '$(call SHESCAPE,$(SRCDIR))' && rm -rf flanterm common/lib/stb_image.h.nopatch common/lib/stb_image.h libfdt freestnd-c-hdrs cc-runtime common/cc-runtime.s2.c decompressor/cc-runtime.c limine-protocol picoefi configure timestamps build-aux *'~' autom4te.cache aclocal.m4 *.tar*
333+
cd '$(call SHESCAPE,$(SRCDIR))' && rm -rf flanterm common/lib/stb_image.h.nopatch common/lib/stb_image.h libfdt freestnd-c-hdrs cc-runtime common/cc-runtime.s2.c limine-protocol picoefi configure timestamps build-aux *'~' autom4te.cache aclocal.m4 *.tar*
332334

333335
.PHONY: common-uefi-x86-64
334336
common-uefi-x86-64:
@@ -381,27 +383,26 @@ common-uefi-ia32-clean:
381383
rm -rf '$(call SHESCAPE,$(BUILDDIR))/common-uefi-ia32'
382384

383385
.PHONY: common-bios
384-
common-bios: $(call MKESCAPE,$(BINDIR))/limlzpack
386+
common-bios: $(call MKESCAPE,$(BUILDDIR))/tools-build/limlzpack
385387
$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/common' -f common.mk \
386388
TARGET=bios \
387389
BUILDDIR='$(call SHESCAPE,$(BUILDDIR))/common-bios' \
388-
LIMLZPACK='$(call SHESCAPE,$(BINDIR))/limlzpack'
390+
LIMLZPACK='$(call SHESCAPE,$(BUILDDIR))/tools-build/limlzpack'
389391

390392
.PHONY: common-bios-clean
391393
common-bios-clean:
392394
rm -rf '$(call SHESCAPE,$(BUILDDIR))/common-bios'
393395

394-
$(call MKESCAPE,$(BINDIR))/limlzpack: $(call MKESCAPE,$(SRCDIR))/tools/limlzpack.c
395-
$(MKDIR_P) '$(call SHESCAPE,$(BINDIR))'
396+
$(call MKESCAPE,$(BUILDDIR))/tools-build/limlzpack: $(call MKESCAPE,$(SRCDIR))/tools/limlzpack.c
397+
$(MKDIR_P) '$(call SHESCAPE,$(BUILDDIR))/tools-build'
396398
$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -std=c99 -Wall -Wextra $(WERROR_FLAG) '$(call SHESCAPE,$<)' -o '$(call SHESCAPE,$@)'
397399

398-
.PHONY: decompressor
399-
decompressor:
400-
$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/decompressor' -f decompressor.mk \
401-
BUILDDIR='$(call SHESCAPE,$(BUILDDIR))/decompressor-build'
402-
403400
.PHONY: decompressor-clean
404401
decompressor-clean:
405402
rm -rf '$(call SHESCAPE,$(BUILDDIR))/decompressor-build'
406403

404+
.PHONY: tools-clean
405+
tools-clean:
406+
rm -rf '$(call SHESCAPE,$(BUILDDIR))/tools-build'
407+
407408
-include test.mk

bootstrap

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@ if ! test -f version; then
8080
cc-runtime \
8181
dae79833b57a01b9fd3e359ee31def69f5ae899b
8282
cp cc-runtime/src/cc-runtime.c common/cc-runtime.s2.c
83-
cp cc-runtime/src/cc-runtime.c decompressor/cc-runtime.c
8483

8584
clone_repo_commit \
8685
https://github.com/Limine-Bootloader/limine-protocol.git \

common/common.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,7 @@ endif
324324

325325
ifeq ($(TARGET),bios)
326326

327-
$(call MKESCAPE,$(BUILDDIR))/stage2.bin.limlz: $(call MKESCAPE,$(BUILDDIR))/stage2.bin $(LIMLZPACK)
327+
$(call MKESCAPE,$(BUILDDIR))/stage2.bin.limlz: $(call MKESCAPE,$(BUILDDIR))/stage2.bin
328328
'$(call SHESCAPE,$(LIMLZPACK))' '$(call SHESCAPE,$<)' '$(call SHESCAPE,$@)'
329329

330330
$(call MKESCAPE,$(BUILDDIR))/stage2.bin: $(call MKESCAPE,$(BUILDDIR))/limine-bios.sys

decompressor/decompressor.mk

Lines changed: 0 additions & 83 deletions
This file was deleted.

decompressor/linker.ld

Lines changed: 0 additions & 39 deletions
This file was deleted.
Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,9 @@
2222
; OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
2323
; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2424

25+
org 0x70000
2526
bits 32
2627

27-
section .entry progbits alloc exec nowrite align=16
28-
2928
global _start
3029
_start:
3130
cld
@@ -131,9 +130,5 @@ _start:
131130
cli
132131
hlt
133132

134-
section .rodata progbits alloc noexec nowrite align=1
135-
136133
errmsg: db "limine integrity error"
137134
.len: equ $ - errmsg
138-
139-
section .note.GNU-stack noalloc noexec nowrite progbits

0 commit comments

Comments
 (0)