2023-02-19 12:07:21 +03:00
|
|
|
override MAKEFLAGS += -rR
|
|
|
|
|
2024-01-17 03:53:40 +03:00
|
|
|
override MAKEVER_MAJOR := $(shell echo $(MAKE_VERSION) | cut -f1 -d.)
|
|
|
|
override MAKEVER_MINOR := $(shell echo $(MAKE_VERSION) | cut -f2 -d.)
|
2024-01-17 05:58:28 +03:00
|
|
|
override MAKEVER_VALID := $(shell ( [ "$(MAKEVER_MAJOR)" -gt 4 ] || ( [ "$(MAKEVER_MAJOR)" -eq 4 ] && [ "$(MAKEVER_MINOR)" -gt 1 ] ) ) && echo 1)
|
2024-01-17 03:53:40 +03:00
|
|
|
|
|
|
|
ifneq ($(MAKEVER_VALID),1)
|
|
|
|
$(error GNU Make version 4.2 or greater is required to build Limine)
|
|
|
|
endif
|
|
|
|
|
2022-04-13 01:47:19 +03:00
|
|
|
override prefix := @prefix@
|
|
|
|
override exec_prefix := @exec_prefix@
|
2023-02-21 05:32:27 +03:00
|
|
|
override PACKAGE_TARNAME := @PACKAGE_TARNAME@
|
2022-04-13 01:47:19 +03:00
|
|
|
|
2023-03-16 04:49:45 +03:00
|
|
|
override bindir := @bindir@
|
|
|
|
override datarootdir := @datarootdir@
|
|
|
|
override includedir := @includedir@
|
2023-02-21 02:15:04 +03:00
|
|
|
override datarootdir := @datarootdir@
|
|
|
|
override mandir := @mandir@
|
2023-02-21 05:32:27 +03:00
|
|
|
override docdir := @docdir@
|
2022-04-13 02:19:47 +03:00
|
|
|
|
2023-10-21 08:19:31 +03:00
|
|
|
override STRIP := @STRIP@
|
2023-04-21 19:57:08 +03:00
|
|
|
|
2021-08-07 08:26:34 +03:00
|
|
|
DESTDIR ?=
|
2020-12-31 06:39:18 +03:00
|
|
|
|
2022-02-11 22:46:57 +03:00
|
|
|
override BUILDDIR := @BUILDDIR@
|
2021-12-08 19:41:19 +03:00
|
|
|
override BINDIR := $(BUILDDIR)/bin
|
2021-11-20 10:32:06 +03:00
|
|
|
|
2022-02-11 22:46:57 +03:00
|
|
|
override SRCDIR := @SRCDIR@
|
2022-01-16 08:09:36 +03:00
|
|
|
|
2021-12-08 19:41:19 +03:00
|
|
|
override SPACE := $(subst ,, )
|
2021-12-23 00:08:19 +03:00
|
|
|
override COMMA := ,
|
2021-11-28 21:00:49 +03:00
|
|
|
|
2021-11-28 21:14:34 +03:00
|
|
|
MKESCAPE = $(subst $(SPACE),\ ,$(1))
|
2021-11-28 21:00:49 +03:00
|
|
|
SHESCAPE = $(subst ','\'',$(1))
|
2021-12-23 00:08:19 +03:00
|
|
|
NASMESCAPE = $(subst ','"'$(COMMA) \"'\"$(COMMA) '"',$(1))
|
2021-11-28 21:00:49 +03:00
|
|
|
|
2023-03-16 18:09:02 +03:00
|
|
|
define DEFAULT_VAR =
|
2022-08-22 19:41:32 +03:00
|
|
|
ifeq ($(origin $1),default)
|
|
|
|
override $(1) := $(2)
|
|
|
|
endif
|
|
|
|
ifeq ($(origin $1),undefined)
|
|
|
|
override $(1) := $(2)
|
|
|
|
endif
|
|
|
|
endef
|
|
|
|
|
2022-09-28 01:47:21 +03:00
|
|
|
override BUILD_BIOS := @BUILD_BIOS@
|
|
|
|
override BUILD_UEFI_X86_64 := @BUILD_UEFI_X86_64@
|
|
|
|
override BUILD_UEFI_IA32 := @BUILD_UEFI_IA32@
|
|
|
|
override BUILD_UEFI_AARCH64 := @BUILD_UEFI_AARCH64@
|
2023-06-04 02:36:06 +03:00
|
|
|
override BUILD_UEFI_RISCV64 := @BUILD_UEFI_RISCV64@
|
2023-06-14 04:14:41 +03:00
|
|
|
override BUILD_UEFI_CD := @BUILD_UEFI_CD@
|
2023-06-14 04:04:01 +03:00
|
|
|
override BUILD_BIOS_PXE := @BUILD_BIOS_PXE@
|
2023-06-15 02:07:44 +03:00
|
|
|
override BUILD_BIOS_CD := @BUILD_BIOS_CD@
|
2022-02-08 17:35:54 +03:00
|
|
|
|
2023-04-21 19:57:08 +03:00
|
|
|
override DEFAULT_CC := @CC@
|
|
|
|
$(eval $(call DEFAULT_VAR,CC,$(DEFAULT_CC)))
|
2022-01-17 00:41:37 +03:00
|
|
|
export CC
|
|
|
|
|
2022-08-22 19:41:32 +03:00
|
|
|
override MKDIR_P := @MKDIR_P@
|
2022-08-08 23:00:25 +03:00
|
|
|
export MKDIR_P
|
|
|
|
|
2022-08-22 19:41:32 +03:00
|
|
|
override INSTALL := @INSTALL@
|
2022-01-22 05:46:48 +03:00
|
|
|
export INSTALL
|
|
|
|
|
2022-09-23 01:44:06 +03:00
|
|
|
override INSTALL_PROGRAM := @INSTALL_PROGRAM@
|
|
|
|
export INSTALL_PROGRAM
|
|
|
|
|
|
|
|
override INSTALL_DATA := @INSTALL_DATA@
|
|
|
|
export INSTALL_DATA
|
|
|
|
|
2022-08-22 19:41:32 +03:00
|
|
|
override GREP := @GREP@
|
2022-02-01 10:04:55 +03:00
|
|
|
export GREP
|
|
|
|
|
2022-08-22 19:41:32 +03:00
|
|
|
override SED := @SED@
|
2022-02-01 10:04:55 +03:00
|
|
|
export SED
|
|
|
|
|
2022-08-22 19:41:32 +03:00
|
|
|
override AWK := @AWK@
|
2022-02-01 10:04:55 +03:00
|
|
|
export AWK
|
|
|
|
|
2023-04-21 19:57:08 +03:00
|
|
|
override DEFAULT_CPPFLAGS := @CPPFLAGS@
|
|
|
|
$(eval $(call DEFAULT_VAR,CPPFLAGS,$(DEFAULT_CPPFLAGS)))
|
2023-10-24 02:06:58 +03:00
|
|
|
override CPPFLAGS := @PKGCONF_CPPFLAGS@ $(CPPFLAGS)
|
2022-09-20 22:28:12 +03:00
|
|
|
export CPPFLAGS
|
2023-04-21 19:57:08 +03:00
|
|
|
override DEFAULT_CFLAGS := @CFLAGS@
|
|
|
|
$(eval $(call DEFAULT_VAR,CFLAGS,$(DEFAULT_CFLAGS)))
|
2023-10-24 02:06:58 +03:00
|
|
|
override CFLAGS += @PKGCONF_CFLAGS@
|
2022-01-17 00:41:37 +03:00
|
|
|
export CFLAGS
|
2023-04-21 19:57:08 +03:00
|
|
|
override DEFAULT_LDFLAGS := @LDFLAGS@
|
|
|
|
$(eval $(call DEFAULT_VAR,LDFLAGS,$(DEFAULT_LDFLAGS)))
|
2022-02-15 00:53:28 +03:00
|
|
|
export LDFLAGS
|
2023-04-21 19:57:08 +03:00
|
|
|
override DEFAULT_LIBS := @LIBS@
|
|
|
|
$(eval $(call DEFAULT_VAR,LIBS,$(DEFAULT_LIBS)))
|
2023-10-24 02:06:58 +03:00
|
|
|
override LIBS += @PKGCONF_LIBS@
|
2022-09-21 00:10:19 +03:00
|
|
|
export LIBS
|
2022-01-17 00:41:37 +03:00
|
|
|
|
2023-04-11 18:15:41 +03:00
|
|
|
override WERROR_FLAG := @WERROR_FLAG@
|
|
|
|
export WERROR_FLAG
|
|
|
|
|
2023-04-21 19:57:08 +03:00
|
|
|
override DEFAULT_CFLAGS_FOR_TARGET := @CFLAGS_FOR_TARGET@
|
|
|
|
$(eval $(call DEFAULT_VAR,CFLAGS_FOR_TARGET,$(DEFAULT_CFLAGS_FOR_TARGET)))
|
2023-03-16 04:28:50 +03:00
|
|
|
export CFLAGS_FOR_TARGET
|
2023-04-21 19:57:08 +03:00
|
|
|
override DEFAULT_CPPFLAGS_FOR_TARGET := @CPPFLAGS_FOR_TARGET@
|
|
|
|
$(eval $(call DEFAULT_VAR,CPPFLAGS_FOR_TARGET,$(DEFAULT_CPPFLAGS_FOR_TARGET)))
|
2023-03-16 04:28:50 +03:00
|
|
|
export CPPFLAGS_FOR_TARGET
|
2023-04-21 19:57:08 +03:00
|
|
|
override DEFAULT_LDFLAGS_FOR_TARGET := @LDFLAGS_FOR_TARGET@
|
|
|
|
$(eval $(call DEFAULT_VAR,LDFLAGS_FOR_TARGET,$(DEFAULT_LDFLAGS_FOR_TARGET)))
|
2023-03-16 04:28:50 +03:00
|
|
|
export LDFLAGS_FOR_TARGET
|
2022-07-05 10:14:48 +03:00
|
|
|
|
2022-02-21 12:27:10 +03:00
|
|
|
override LIMINE_VERSION := @PACKAGE_VERSION@
|
|
|
|
|
2022-01-22 05:10:25 +03:00
|
|
|
override STAGE1_FILES := $(shell find '$(call SHESCAPE,$(SRCDIR))/stage1' -type f -name '*.asm')
|
2021-04-03 23:12:40 +03:00
|
|
|
|
2021-04-11 10:56:48 +03:00
|
|
|
.PHONY: all
|
2023-02-13 01:13:26 +03:00
|
|
|
all: $(call MKESCAPE,$(BINDIR))/Makefile
|
|
|
|
$(MAKE) all1
|
|
|
|
|
|
|
|
.PHONY: all1
|
2023-06-04 02:36:06 +03:00
|
|
|
all1: $(BUILD_UEFI_X86_64) $(BUILD_UEFI_IA32) $(BUILD_UEFI_AARCH64) $(BUILD_UEFI_RISCV64) $(BUILD_BIOS)
|
2023-04-11 23:04:05 +03:00
|
|
|
$(MAKE) '$(call SHESCAPE,$(BINDIR))/limine'
|
2023-06-14 04:14:41 +03:00
|
|
|
$(MAKE) '$(call SHESCAPE,$(BINDIR))/limine-uefi-cd.bin'
|
2020-12-31 06:39:18 +03:00
|
|
|
|
2023-06-15 02:47:16 +03:00
|
|
|
$(call MKESCAPE,$(BINDIR))/limine-bios-hdd.h: $(call MKESCAPE,$(BINDIR))/limine-bios-hdd.bin
|
2022-08-08 23:00:25 +03:00
|
|
|
$(MKDIR_P) '$(call SHESCAPE,$(BINDIR))'
|
2023-06-15 02:47:16 +03:00
|
|
|
cd '$(call SHESCAPE,$(BINDIR))' && '$(call SHESCAPE,$(SRCDIR))/host/hgen.sh' >limine-bios-hdd.h
|
2022-07-13 18:17:12 +03:00
|
|
|
|
2023-04-11 23:04:05 +03:00
|
|
|
ifeq ($(BUILD_BIOS),limine-bios)
|
2023-06-15 02:47:16 +03:00
|
|
|
$(call MKESCAPE,$(BINDIR))/limine: $(call MKESCAPE,$(BINDIR))/Makefile $(call MKESCAPE,$(SRCDIR))/host/limine.c $(call MKESCAPE,$(BINDIR))/limine-bios-hdd.h
|
2023-04-11 23:04:05 +03:00
|
|
|
else
|
|
|
|
override LIMINE_NO_BIOS := -DLIMINE_NO_BIOS
|
2022-07-13 18:17:12 +03:00
|
|
|
|
2023-04-11 23:04:05 +03:00
|
|
|
$(call MKESCAPE,$(BINDIR))/limine: $(call MKESCAPE,$(BINDIR))/Makefile $(call MKESCAPE,$(SRCDIR))/host/limine.c
|
|
|
|
endif
|
2023-06-20 11:19:01 +03:00
|
|
|
$(SED) 's/%VERSION%/@PACKAGE_VERSION@/g;s/%COPYRIGHT%/@LIMINE_COPYRIGHT@/g' <'$(call SHESCAPE,$(SRCDIR))/host/limine.c' >'$(call SHESCAPE,$(BINDIR))/limine.c'
|
2023-12-13 14:13:16 +03:00
|
|
|
CPPFLAGS='$(CPPFLAGS) $(LIMINE_NO_BIOS) -DLIMINE_DATADIR=\"$(call SHESCAPE,$(datarootdir))/limine\"' $(MAKE) -C '$(call SHESCAPE,$(BINDIR))' limine
|
2023-02-07 01:58:19 +03:00
|
|
|
|
2022-07-13 18:17:12 +03:00
|
|
|
$(call MKESCAPE,$(BINDIR))/Makefile: $(call MKESCAPE,$(SRCDIR))/host/Makefile $(call MKESCAPE,$(SRCDIR))/host/.gitignore
|
2023-02-13 01:13:26 +03:00
|
|
|
mkdir -p '$(call SHESCAPE,$(BINDIR))'
|
|
|
|
cp '$(call SHESCAPE,$(SRCDIR))/host/Makefile' '$(call SHESCAPE,$(SRCDIR))/host/.gitignore' '$(call SHESCAPE,$(BINDIR))/'
|
2022-01-27 14:53:40 +03:00
|
|
|
|
2023-04-11 23:04:05 +03:00
|
|
|
.PHONY: limine
|
|
|
|
limine:
|
|
|
|
$(MAKE) '$(call SHESCAPE,$(BINDIR))/limine'
|
2023-02-07 01:58:19 +03:00
|
|
|
|
2021-04-11 10:56:48 +03:00
|
|
|
.PHONY: clean
|
2023-06-04 02:36:06 +03:00
|
|
|
clean: limine-bios-clean limine-uefi-ia32-clean limine-uefi-x86-64-clean limine-uefi-aarch64-clean limine-uefi-riscv64-clean
|
2022-02-10 16:47:38 +03:00
|
|
|
rm -rf '$(call SHESCAPE,$(BINDIR))' '$(call SHESCAPE,$(BUILDDIR))/stage1.stamp'
|
2020-12-31 06:39:18 +03:00
|
|
|
|
2023-02-12 22:14:51 +03:00
|
|
|
.PHONY: install
|
|
|
|
install: all
|
2023-02-21 05:32:27 +03:00
|
|
|
$(INSTALL) -d '$(call SHESCAPE,$(DESTDIR)$(docdir))'
|
2023-10-28 04:44:32 +03:00
|
|
|
$(INSTALL_DATA) '$(call SHESCAPE,$(SRCDIR))/COPYING' '$(call SHESCAPE,$(DESTDIR)$(docdir))/'
|
2023-02-21 05:32:27 +03:00
|
|
|
$(INSTALL_DATA) '$(call SHESCAPE,$(SRCDIR))/CONFIG.md' '$(call SHESCAPE,$(DESTDIR)$(docdir))/'
|
|
|
|
$(INSTALL_DATA) '$(call SHESCAPE,$(SRCDIR))/PROTOCOL.md' '$(call SHESCAPE,$(DESTDIR)$(docdir))/'
|
|
|
|
$(INSTALL_DATA) '$(call SHESCAPE,$(SRCDIR))/PHILOSOPHY.md' '$(call SHESCAPE,$(DESTDIR)$(docdir))/'
|
|
|
|
$(INSTALL_DATA) '$(call SHESCAPE,$(SRCDIR))/README.md' '$(call SHESCAPE,$(DESTDIR)$(docdir))/'
|
2023-02-21 02:15:04 +03:00
|
|
|
$(INSTALL) -d '$(call SHESCAPE,$(DESTDIR)$(mandir))/man1'
|
2023-04-11 23:04:05 +03:00
|
|
|
$(INSTALL_DATA) '$(call SHESCAPE,$(BUILDDIR))/man/man1/limine.1' '$(call SHESCAPE,$(DESTDIR)$(mandir))/man1/'
|
2023-03-16 04:49:45 +03:00
|
|
|
$(INSTALL) -d '$(call SHESCAPE,$(DESTDIR)$(datarootdir))'
|
|
|
|
$(INSTALL) -d '$(call SHESCAPE,$(DESTDIR)$(datarootdir))/limine'
|
2022-09-28 01:47:21 +03:00
|
|
|
ifeq ($(BUILD_BIOS),limine-bios)
|
2023-06-15 03:02:32 +03:00
|
|
|
$(INSTALL_DATA) '$(call SHESCAPE,$(BINDIR))/limine-bios.sys' '$(call SHESCAPE,$(DESTDIR)$(datarootdir))/limine/'
|
2022-09-28 01:47:21 +03:00
|
|
|
endif
|
2023-06-15 02:07:44 +03:00
|
|
|
ifneq ($(BUILD_BIOS_CD),no)
|
|
|
|
$(INSTALL_DATA) '$(call SHESCAPE,$(BINDIR))/limine-bios-cd.bin' '$(call SHESCAPE,$(DESTDIR)$(datarootdir))/limine/'
|
2022-09-28 01:47:21 +03:00
|
|
|
endif
|
2023-06-14 04:14:41 +03:00
|
|
|
ifneq ($(BUILD_UEFI_CD),no)
|
|
|
|
$(INSTALL_DATA) '$(call SHESCAPE,$(BINDIR))/limine-uefi-cd.bin' '$(call SHESCAPE,$(DESTDIR)$(datarootdir))/limine/'
|
2022-09-28 01:47:21 +03:00
|
|
|
endif
|
2023-06-14 04:04:01 +03:00
|
|
|
ifneq ($(BUILD_BIOS_PXE),no)
|
|
|
|
$(INSTALL_DATA) '$(call SHESCAPE,$(BINDIR))/limine-bios-pxe.bin' '$(call SHESCAPE,$(DESTDIR)$(datarootdir))/limine/'
|
2022-09-28 01:47:21 +03:00
|
|
|
endif
|
|
|
|
ifeq ($(BUILD_UEFI_AARCH64),limine-uefi-aarch64)
|
2023-03-16 04:49:45 +03:00
|
|
|
$(INSTALL_DATA) '$(call SHESCAPE,$(BINDIR))/BOOTAA64.EFI' '$(call SHESCAPE,$(DESTDIR)$(datarootdir))/limine/'
|
2022-09-28 01:47:21 +03:00
|
|
|
endif
|
2023-06-04 02:36:06 +03:00
|
|
|
ifeq ($(BUILD_UEFI_RISCV64),limine-uefi-riscv64)
|
|
|
|
$(INSTALL_DATA) '$(call SHESCAPE,$(BINDIR))/BOOTRISCV64.EFI' '$(call SHESCAPE,$(DESTDIR)$(datarootdir))/limine/'
|
|
|
|
endif
|
2022-09-28 01:47:21 +03:00
|
|
|
ifeq ($(BUILD_UEFI_X86_64),limine-uefi-x86-64)
|
2023-03-16 04:49:45 +03:00
|
|
|
$(INSTALL_DATA) '$(call SHESCAPE,$(BINDIR))/BOOTX64.EFI' '$(call SHESCAPE,$(DESTDIR)$(datarootdir))/limine/'
|
2022-09-28 01:47:21 +03:00
|
|
|
endif
|
|
|
|
ifeq ($(BUILD_UEFI_IA32),limine-uefi-ia32)
|
2023-03-16 04:49:45 +03:00
|
|
|
$(INSTALL_DATA) '$(call SHESCAPE,$(BINDIR))/BOOTIA32.EFI' '$(call SHESCAPE,$(DESTDIR)$(datarootdir))/limine/'
|
2022-09-28 01:47:21 +03:00
|
|
|
endif
|
2023-03-16 04:49:45 +03:00
|
|
|
$(INSTALL) -d '$(call SHESCAPE,$(DESTDIR)$(includedir))'
|
|
|
|
$(INSTALL_DATA) '$(call SHESCAPE,$(SRCDIR))/limine.h' '$(call SHESCAPE,$(DESTDIR)$(includedir))/'
|
|
|
|
$(INSTALL) -d '$(call SHESCAPE,$(DESTDIR)$(bindir))'
|
2023-04-11 23:04:05 +03:00
|
|
|
$(INSTALL_PROGRAM) '$(call SHESCAPE,$(BINDIR))/limine' '$(call SHESCAPE,$(DESTDIR)$(bindir))/'
|
2022-01-18 00:36:47 +03:00
|
|
|
|
2023-02-12 22:14:51 +03:00
|
|
|
.PHONY: install-strip
|
|
|
|
install-strip: install
|
2023-10-21 08:19:31 +03:00
|
|
|
$(STRIP) '$(call SHESCAPE,$(DESTDIR)$(bindir))/limine'
|
2023-02-12 22:14:51 +03:00
|
|
|
|
2022-01-16 22:08:53 +03:00
|
|
|
.PHONY: uninstall
|
|
|
|
uninstall:
|
2023-10-28 04:44:32 +03:00
|
|
|
rm -f '$(call SHESCAPE,$(DESTDIR)$(docdir))/COPYING'
|
2023-02-21 05:32:27 +03:00
|
|
|
rm -f '$(call SHESCAPE,$(DESTDIR)$(docdir))/CONFIG.md'
|
|
|
|
rm -f '$(call SHESCAPE,$(DESTDIR)$(docdir))/PROTOCOL.md'
|
|
|
|
rm -f '$(call SHESCAPE,$(DESTDIR)$(docdir))/PHILOSOPHY.md'
|
|
|
|
rm -f '$(call SHESCAPE,$(DESTDIR)$(docdir))/README.md'
|
2023-04-11 23:04:05 +03:00
|
|
|
rm -f '$(call SHESCAPE,$(DESTDIR)$(mandir))/man1/limine.1'
|
|
|
|
rm -f '$(call SHESCAPE,$(DESTDIR)$(bindir))/limine'
|
2023-03-16 04:49:45 +03:00
|
|
|
rm -rf '$(call SHESCAPE,$(DESTDIR)$(datarootdir))/limine'
|
|
|
|
rm -f '$(call SHESCAPE,$(DESTDIR)$(includedir))/limine.h'
|
2022-01-16 22:08:53 +03:00
|
|
|
|
2022-02-03 12:38:43 +03:00
|
|
|
$(call MKESCAPE,$(BUILDDIR))/stage1.stamp: $(STAGE1_FILES) $(call MKESCAPE,$(BUILDDIR))/decompressor-build/decompressor.bin $(call MKESCAPE,$(BUILDDIR))/common-bios/stage2.bin.gz
|
2022-08-08 23:00:25 +03:00
|
|
|
$(MKDIR_P) '$(call SHESCAPE,$(BINDIR))'
|
2023-06-15 02:47:16 +03:00
|
|
|
cd '$(call SHESCAPE,$(SRCDIR))/stage1/hdd' && nasm bootsect.asm -Wall $(WERROR_FLAG) -fbin -DBUILDDIR="'"'$(call NASMESCAPE,$(BUILDDIR))'"'" -o '$(call SHESCAPE,$(BINDIR))/limine-bios-hdd.bin'
|
2023-06-15 02:07:44 +03:00
|
|
|
ifneq ($(BUILD_BIOS_CD),no)
|
|
|
|
cd '$(call SHESCAPE,$(SRCDIR))/stage1/cd' && nasm bootsect.asm -Wall $(WERROR_FLAG) -fbin -DBUILDDIR="'"'$(call NASMESCAPE,$(BUILDDIR))'"'" -o '$(call SHESCAPE,$(BINDIR))/limine-bios-cd.bin'
|
2022-02-18 04:23:39 +03:00
|
|
|
endif
|
2023-06-14 04:04:01 +03:00
|
|
|
ifneq ($(BUILD_BIOS_PXE),no)
|
|
|
|
cd '$(call SHESCAPE,$(SRCDIR))/stage1/pxe' && nasm bootsect.asm -Wall $(WERROR_FLAG) -fbin -DBUILDDIR="'"'$(call NASMESCAPE,$(BUILDDIR))'"'" -o '$(call SHESCAPE,$(BINDIR))/limine-bios-pxe.bin'
|
2022-02-18 04:23:39 +03:00
|
|
|
endif
|
2023-06-15 03:02:32 +03:00
|
|
|
cp '$(call SHESCAPE,$(BUILDDIR))/common-bios/limine-bios.sys' '$(call SHESCAPE,$(BINDIR))/'
|
2022-01-16 08:09:36 +03:00
|
|
|
touch '$(call SHESCAPE,$(BUILDDIR))/stage1.stamp'
|
2021-04-03 23:12:40 +03:00
|
|
|
|
2021-04-11 10:56:48 +03:00
|
|
|
.PHONY: limine-bios
|
2022-02-03 12:38:43 +03:00
|
|
|
limine-bios: common-bios decompressor
|
2022-01-16 08:09:36 +03:00
|
|
|
$(MAKE) '$(call SHESCAPE,$(BUILDDIR))/stage1.stamp'
|
2021-11-28 21:00:49 +03:00
|
|
|
|
2023-06-14 04:14:41 +03:00
|
|
|
$(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)
|
|
|
|
ifneq ($(BUILD_UEFI_CD),no)
|
2022-08-08 23:00:25 +03:00
|
|
|
$(MKDIR_P) '$(call SHESCAPE,$(BINDIR))'
|
2023-06-14 04:14:41 +03:00
|
|
|
rm -f '$(call SHESCAPE,$(BINDIR))/limine-uefi-cd.bin'
|
2023-07-27 10:32:34 +03:00
|
|
|
dd if=/dev/zero of='$(call SHESCAPE,$(BINDIR))/limine-uefi-cd.bin' bs=512 count=2880 2>/dev/null
|
2023-11-26 00:23:38 +03:00
|
|
|
mformat -i '$(call SHESCAPE,$(BINDIR))/limine-uefi-cd.bin' -f 1440 ::
|
|
|
|
mmd -D s -i '$(call SHESCAPE,$(BINDIR))/limine-uefi-cd.bin' ::/EFI
|
|
|
|
mmd -D s -i '$(call SHESCAPE,$(BINDIR))/limine-uefi-cd.bin' ::/EFI/BOOT
|
|
|
|
if [ -f '$(call SHESCAPE,$(BUILDDIR))/common-uefi-aarch64/BOOTAA64.EFI' ]; then \
|
|
|
|
mcopy -D o -i '$(call SHESCAPE,$(BINDIR))/limine-uefi-cd.bin' '$(call SHESCAPE,$(BUILDDIR))/common-uefi-aarch64/BOOTAA64.EFI' ::/EFI/BOOT; \
|
|
|
|
fi
|
|
|
|
if [ -f '$(call SHESCAPE,$(BUILDDIR))/common-uefi-riscv64/BOOTRISCV64.EFI' ]; then \
|
|
|
|
mcopy -D o -i '$(call SHESCAPE,$(BINDIR))/limine-uefi-cd.bin' '$(call SHESCAPE,$(BUILDDIR))/common-uefi-riscv64/BOOTRISCV64.EFI' ::/EFI/BOOT; \
|
|
|
|
fi
|
|
|
|
if [ -f '$(call SHESCAPE,$(BUILDDIR))/common-uefi-x86-64/BOOTX64.EFI' ]; then \
|
|
|
|
mcopy -D o -i '$(call SHESCAPE,$(BINDIR))/limine-uefi-cd.bin' '$(call SHESCAPE,$(BUILDDIR))/common-uefi-x86-64/BOOTX64.EFI' ::/EFI/BOOT; \
|
|
|
|
fi
|
|
|
|
if [ -f '$(call SHESCAPE,$(BUILDDIR))/common-uefi-ia32/BOOTIA32.EFI' ]; then \
|
|
|
|
mcopy -D o -i '$(call SHESCAPE,$(BINDIR))/limine-uefi-cd.bin' '$(call SHESCAPE,$(BUILDDIR))/common-uefi-ia32/BOOTIA32.EFI' ::/EFI/BOOT; \
|
|
|
|
fi
|
2022-02-08 17:35:54 +03:00
|
|
|
endif
|
2021-03-17 15:19:06 +03:00
|
|
|
|
2023-06-14 04:14:41 +03:00
|
|
|
.PHONY: limine-uefi-cd
|
|
|
|
limine-uefi-cd:
|
|
|
|
$(MAKE) '$(call SHESCAPE,$(BINDIR))/limine-uefi-cd.bin'
|
2022-04-17 09:46:28 +03:00
|
|
|
|
2022-08-15 18:41:04 +03:00
|
|
|
$(call MKESCAPE,$(BINDIR))/BOOTX64.EFI: $(call MKESCAPE,$(BUILDDIR))/common-uefi-x86-64/BOOTX64.EFI
|
|
|
|
$(MKDIR_P) '$(call SHESCAPE,$(BINDIR))'
|
|
|
|
cp '$(call SHESCAPE,$(BUILDDIR))/common-uefi-x86-64/BOOTX64.EFI' '$(call SHESCAPE,$(BINDIR))/'
|
|
|
|
|
2022-06-15 04:25:36 +03:00
|
|
|
.PHONY: limine-uefi-x86-64
|
2022-08-15 18:41:04 +03:00
|
|
|
limine-uefi-x86-64:
|
2022-06-15 04:25:36 +03:00
|
|
|
$(MAKE) common-uefi-x86-64
|
2022-08-15 18:41:04 +03:00
|
|
|
$(MAKE) '$(call SHESCAPE,$(BINDIR))/BOOTX64.EFI'
|
|
|
|
|
|
|
|
$(call MKESCAPE,$(BINDIR))/BOOTIA32.EFI: $(call MKESCAPE,$(BUILDDIR))/common-uefi-ia32/BOOTIA32.EFI
|
2022-08-08 23:00:25 +03:00
|
|
|
$(MKDIR_P) '$(call SHESCAPE,$(BINDIR))'
|
2022-08-15 18:41:04 +03:00
|
|
|
cp '$(call SHESCAPE,$(BUILDDIR))/common-uefi-ia32/BOOTIA32.EFI' '$(call SHESCAPE,$(BINDIR))/'
|
2021-03-08 02:50:23 +03:00
|
|
|
|
2022-06-15 04:25:36 +03:00
|
|
|
.PHONY: limine-uefi-ia32
|
2022-08-15 18:41:04 +03:00
|
|
|
limine-uefi-ia32:
|
2022-06-15 04:25:36 +03:00
|
|
|
$(MAKE) common-uefi-ia32
|
2022-08-15 18:41:04 +03:00
|
|
|
$(MAKE) '$(call SHESCAPE,$(BINDIR))/BOOTIA32.EFI'
|
2021-07-20 14:35:43 +03:00
|
|
|
|
2022-08-18 18:32:54 +03:00
|
|
|
$(call MKESCAPE,$(BINDIR))/BOOTAA64.EFI: $(call MKESCAPE,$(BUILDDIR))/common-uefi-aarch64/BOOTAA64.EFI
|
|
|
|
$(MKDIR_P) '$(call SHESCAPE,$(BINDIR))'
|
|
|
|
cp '$(call SHESCAPE,$(BUILDDIR))/common-uefi-aarch64/BOOTAA64.EFI' '$(call SHESCAPE,$(BINDIR))/'
|
|
|
|
|
|
|
|
.PHONY: limine-uefi-aarch64
|
|
|
|
limine-uefi-aarch64:
|
|
|
|
$(MAKE) common-uefi-aarch64
|
|
|
|
$(MAKE) '$(call SHESCAPE,$(BINDIR))/BOOTAA64.EFI'
|
|
|
|
|
2023-06-04 02:36:06 +03:00
|
|
|
$(call MKESCAPE,$(BINDIR))/BOOTRISCV64.EFI: $(call MKESCAPE,$(BUILDDIR))/common-uefi-riscv64/BOOTRISCV64.EFI
|
|
|
|
$(MKDIR_P) '$(call SHESCAPE,$(BINDIR))'
|
|
|
|
cp '$(call SHESCAPE,$(BUILDDIR))/common-uefi-riscv64/BOOTRISCV64.EFI' '$(call SHESCAPE,$(BINDIR))/'
|
|
|
|
|
|
|
|
.PHONY: limine-uefi-riscv64
|
|
|
|
limine-uefi-riscv64:
|
|
|
|
$(MAKE) common-uefi-riscv64
|
|
|
|
$(MAKE) '$(call SHESCAPE,$(BINDIR))/BOOTRISCV64.EFI'
|
|
|
|
|
2021-04-11 10:56:48 +03:00
|
|
|
.PHONY: limine-bios-clean
|
2022-02-03 12:38:43 +03:00
|
|
|
limine-bios-clean: common-bios-clean decompressor-clean
|
2020-09-14 21:02:36 +03:00
|
|
|
|
2022-06-15 04:25:36 +03:00
|
|
|
.PHONY: limine-uefi-x86-64-clean
|
|
|
|
limine-uefi-x86-64-clean: common-uefi-x86-64-clean
|
2020-09-13 16:47:43 +03:00
|
|
|
|
2022-06-15 04:25:36 +03:00
|
|
|
.PHONY: limine-uefi-ia32-clean
|
|
|
|
limine-uefi-ia32-clean: common-uefi-ia32-clean
|
2021-07-20 14:35:43 +03:00
|
|
|
|
2022-08-18 18:32:54 +03:00
|
|
|
.PHONY: limine-uefi-aarch64-clean
|
|
|
|
limine-uefi-aarch64-clean: common-uefi-aarch64-clean
|
|
|
|
|
2023-06-04 02:36:06 +03:00
|
|
|
.PHONY: limine-uefi-riscv64-clean
|
|
|
|
limine-uefi-riscv64-clean: common-uefi-riscv64-clean
|
|
|
|
|
2021-10-24 16:48:52 +03:00
|
|
|
.PHONY: dist
|
|
|
|
dist:
|
2022-01-16 08:09:36 +03:00
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)"
|
2022-08-08 23:00:25 +03:00
|
|
|
$(MKDIR_P) '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)"
|
2022-01-16 08:09:36 +03:00
|
|
|
cp -r '$(call SHESCAPE,$(SRCDIR))'/.git '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)"/
|
|
|
|
cd '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)" && git checkout .
|
2022-06-15 01:35:16 +03:00
|
|
|
cd '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)" && ./bootstrap
|
2023-03-29 23:43:06 +03:00
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/common/flanterm/.git"
|
2022-06-30 08:48:42 +03:00
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/freestanding-headers/.git"
|
2024-01-26 03:13:18 +03:00
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/build-aux/freestanding-toolchain/.git"
|
2024-01-21 20:26:07 +03:00
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/common/cc-runtime/.git"
|
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/decompressor/cc-runtime/.git"
|
2022-06-14 06:58:34 +03:00
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/limine-efi/.git"
|
2022-06-25 06:10:55 +03:00
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/limine-efi/.gitignore"
|
2024-01-13 21:59:39 +03:00
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/tinf"
|
2024-01-26 03:13:18 +03:00
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/stb"
|
2022-01-16 08:09:36 +03:00
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/.git"
|
2022-06-25 06:10:55 +03:00
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/.gitignore"
|
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/.github"
|
2022-01-16 08:09:36 +03:00
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/autom4te.cache"
|
2022-05-22 09:42:13 +03:00
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/test"
|
2023-03-23 18:03:58 +03:00
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/test.mk"
|
2022-05-22 09:42:13 +03:00
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/screenshot.png"
|
2022-06-25 06:10:55 +03:00
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/bochsrc"
|
2022-07-02 13:13:57 +03:00
|
|
|
echo "$(LIMINE_VERSION)" > '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/version"
|
2022-01-16 08:09:36 +03:00
|
|
|
cd '$(call SHESCAPE,$(BUILDDIR))' && tar -Jcf "limine-$(LIMINE_VERSION).tar.xz" "limine-$(LIMINE_VERSION)"
|
2022-01-28 12:23:26 +03:00
|
|
|
cd '$(call SHESCAPE,$(BUILDDIR))' && tar -zcf "limine-$(LIMINE_VERSION).tar.gz" "limine-$(LIMINE_VERSION)"
|
2022-01-16 08:09:36 +03:00
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)"
|
2021-04-15 03:42:39 +03:00
|
|
|
|
2021-04-11 10:56:48 +03:00
|
|
|
.PHONY: distclean
|
2022-01-16 08:09:36 +03:00
|
|
|
distclean: clean
|
2023-04-11 23:04:05 +03:00
|
|
|
rm -rf ovmf* config.log config.status GNUmakefile config.h toolchain-files man/man1/limine.1
|
2021-01-15 07:14:20 +03:00
|
|
|
|
2022-01-16 08:09:36 +03:00
|
|
|
.PHONY: maintainer-clean
|
|
|
|
maintainer-clean: distclean
|
2024-01-26 03:13:18 +03:00
|
|
|
cd '$(call SHESCAPE,$(SRCDIR))' && rm -rf common/flanterm common/lib/stb_image.h decompressor/tinf tinf stb freestanding-headers common/cc-runtime decompressor/cc-runtime limine-efi build-aux/freestanding-toolchain configure build-aux *'~' autom4te.cache aclocal.m4 *.tar.xz *.tar.gz
|
2021-12-08 23:26:25 +03:00
|
|
|
|
2022-06-15 04:25:36 +03:00
|
|
|
.PHONY: common-uefi-x86-64
|
|
|
|
common-uefi-x86-64:
|
2022-06-15 08:16:41 +03:00
|
|
|
$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/common' all \
|
2023-03-14 19:20:46 +03:00
|
|
|
TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-x86_64-toolchain.mk' \
|
2022-06-15 08:16:41 +03:00
|
|
|
TARGET=uefi-x86-64 \
|
|
|
|
BUILDDIR='$(call SHESCAPE,$(BUILDDIR))/common-uefi-x86-64'
|
2021-03-08 02:50:23 +03:00
|
|
|
|
2022-06-15 04:25:36 +03:00
|
|
|
.PHONY: common-uefi-x86-64-clean
|
|
|
|
common-uefi-x86-64-clean:
|
2022-06-15 08:16:41 +03:00
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))/common-uefi-x86-64'
|
2021-03-08 02:50:23 +03:00
|
|
|
|
2022-08-18 18:32:54 +03:00
|
|
|
.PHONY: common-uefi-aarch64
|
|
|
|
common-uefi-aarch64:
|
|
|
|
$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/common' all \
|
2023-03-14 19:20:46 +03:00
|
|
|
TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-aarch64-toolchain.mk' \
|
2022-08-18 18:32:54 +03:00
|
|
|
TARGET=uefi-aarch64 \
|
|
|
|
BUILDDIR='$(call SHESCAPE,$(BUILDDIR))/common-uefi-aarch64'
|
|
|
|
|
|
|
|
.PHONY: common-uefi-aarch64-clean
|
|
|
|
common-uefi-aarch64-clean:
|
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))/common-uefi-aarch64'
|
|
|
|
|
2023-06-04 02:36:06 +03:00
|
|
|
.PHONY: common-uefi-riscv64
|
|
|
|
common-uefi-riscv64:
|
|
|
|
$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/common' all \
|
|
|
|
TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-riscv64-toolchain.mk' \
|
|
|
|
TARGET=uefi-riscv64 \
|
|
|
|
BUILDDIR='$(call SHESCAPE,$(BUILDDIR))/common-uefi-riscv64'
|
|
|
|
|
|
|
|
.PHONY: common-uefi-riscv64-clean
|
|
|
|
common-uefi-riscv64-clean:
|
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))/common-uefi-riscv64'
|
|
|
|
|
2022-06-15 04:25:36 +03:00
|
|
|
.PHONY: common-uefi-ia32
|
|
|
|
common-uefi-ia32:
|
2022-06-15 08:16:41 +03:00
|
|
|
$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/common' all \
|
2023-03-14 19:20:46 +03:00
|
|
|
TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/uefi-i686-toolchain.mk' \
|
2022-06-15 08:16:41 +03:00
|
|
|
TARGET=uefi-ia32 \
|
|
|
|
BUILDDIR='$(call SHESCAPE,$(BUILDDIR))/common-uefi-ia32'
|
2021-07-20 14:35:43 +03:00
|
|
|
|
2022-06-15 04:25:36 +03:00
|
|
|
.PHONY: common-uefi-ia32-clean
|
|
|
|
common-uefi-ia32-clean:
|
2022-06-15 08:16:41 +03:00
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))/common-uefi-ia32'
|
2021-07-20 14:35:43 +03:00
|
|
|
|
2022-02-03 12:38:43 +03:00
|
|
|
.PHONY: common-bios
|
2022-06-14 04:56:30 +03:00
|
|
|
common-bios:
|
2022-06-15 08:16:41 +03:00
|
|
|
$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/common' all \
|
2023-03-14 19:20:46 +03:00
|
|
|
TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/bios-i686-toolchain.mk' \
|
2022-06-15 08:16:41 +03:00
|
|
|
TARGET=bios \
|
|
|
|
BUILDDIR='$(call SHESCAPE,$(BUILDDIR))/common-bios'
|
2020-09-13 16:20:53 +03:00
|
|
|
|
2022-02-03 12:38:43 +03:00
|
|
|
.PHONY: common-bios-clean
|
|
|
|
common-bios-clean:
|
2022-06-15 08:16:41 +03:00
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))/common-bios'
|
2020-09-14 20:32:11 +03:00
|
|
|
|
2021-04-11 10:56:48 +03:00
|
|
|
.PHONY: decompressor
|
2021-03-02 12:23:43 +03:00
|
|
|
decompressor:
|
2022-06-15 08:16:41 +03:00
|
|
|
$(MAKE) -C '$(call SHESCAPE,$(SRCDIR))/decompressor' all \
|
2023-03-14 19:20:46 +03:00
|
|
|
TOOLCHAIN_FILE='$(call SHESCAPE,$(BUILDDIR))/toolchain-files/bios-i686-toolchain.mk' \
|
2022-06-15 08:16:41 +03:00
|
|
|
BUILDDIR='$(call SHESCAPE,$(BUILDDIR))/decompressor-build'
|
2020-09-14 20:32:11 +03:00
|
|
|
|
2021-04-11 10:56:48 +03:00
|
|
|
.PHONY: decompressor-clean
|
2020-09-14 20:32:11 +03:00
|
|
|
decompressor-clean:
|
2022-06-15 08:16:41 +03:00
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))/decompressor-build'
|
2019-05-15 07:08:56 +03:00
|
|
|
|
2023-03-23 18:03:58 +03:00
|
|
|
-include test.mk
|