2023-02-19 12:07:21 +03:00
|
|
|
override MAKEFLAGS += -rR
|
|
|
|
|
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-04-21 19:57:08 +03:00
|
|
|
override NATIVE_STRIP := @NATIVE_STRIP@
|
|
|
|
|
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@
|
2022-03-30 16:14:02 +03:00
|
|
|
override BUILD_CD_EFI := @BUILD_CD_EFI@
|
2022-02-18 04:23:39 +03:00
|
|
|
override BUILD_PXE := @BUILD_PXE@
|
|
|
|
override BUILD_CD := @BUILD_CD@
|
2022-04-02 10:31:19 +03:00
|
|
|
override BUILD_LIMINE_DEPLOY := @BUILD_LIMINE_DEPLOY@
|
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)))
|
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)))
|
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)))
|
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
|
|
|
|
all1: limine-version limine-enroll-config $(BUILD_UEFI_X86_64) $(BUILD_UEFI_IA32) $(BUILD_UEFI_AARCH64) $(BUILD_BIOS)
|
2022-06-22 22:56:41 +03:00
|
|
|
$(MAKE) '$(call SHESCAPE,$(BINDIR))/limine-cd-efi.bin'
|
2020-12-31 06:39:18 +03:00
|
|
|
|
2022-07-13 18:17:12 +03:00
|
|
|
$(call MKESCAPE,$(BINDIR))/limine-hdd.h: $(call MKESCAPE,$(BINDIR))/limine-hdd.bin
|
2022-08-08 23:00:25 +03:00
|
|
|
$(MKDIR_P) '$(call SHESCAPE,$(BINDIR))'
|
2022-07-13 18:17:12 +03:00
|
|
|
cd '$(call SHESCAPE,$(BINDIR))' && '$(call SHESCAPE,$(SRCDIR))/host/hgen.sh' >limine-hdd.h
|
|
|
|
|
|
|
|
$(call MKESCAPE,$(BINDIR))/limine-deploy: $(call MKESCAPE,$(BINDIR))/Makefile $(call MKESCAPE,$(SRCDIR))/host/limine-deploy.c $(call MKESCAPE,$(BINDIR))/limine-hdd.h
|
|
|
|
cp '$(call SHESCAPE,$(SRCDIR))/host/limine-deploy.c' '$(call SHESCAPE,$(BINDIR))/'
|
|
|
|
$(MAKE) -C '$(call SHESCAPE,$(BINDIR))' limine-deploy
|
|
|
|
|
|
|
|
$(call MKESCAPE,$(BINDIR))/limine-version: $(call MKESCAPE,$(BINDIR))/Makefile $(call MKESCAPE,$(SRCDIR))/host/limine-version.c
|
|
|
|
$(SED) 's/@LIMINE_VERSION@/@PACKAGE_VERSION@/g' <'$(call SHESCAPE,$(SRCDIR))/host/limine-version.c' >'$(call SHESCAPE,$(BINDIR))/limine-version.c'
|
|
|
|
$(MAKE) -C '$(call SHESCAPE,$(BINDIR))' limine-version
|
|
|
|
|
2023-02-07 01:58:19 +03:00
|
|
|
$(call MKESCAPE,$(BINDIR))/limine-enroll-config: $(call MKESCAPE,$(BINDIR))/Makefile $(call MKESCAPE,$(SRCDIR))/host/limine-enroll-config.c
|
|
|
|
cp '$(call SHESCAPE,$(SRCDIR))/host/limine-enroll-config.c' '$(call SHESCAPE,$(BINDIR))/'
|
|
|
|
$(MAKE) -C '$(call SHESCAPE,$(BINDIR))' limine-enroll-config
|
|
|
|
|
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
|
|
|
|
2022-04-02 10:31:19 +03:00
|
|
|
.PHONY: limine-deploy
|
|
|
|
limine-deploy:
|
2022-04-17 09:46:28 +03:00
|
|
|
$(MAKE) '$(call SHESCAPE,$(BINDIR))/limine-deploy'
|
2021-02-21 01:04:06 +03:00
|
|
|
|
2022-07-13 18:17:12 +03:00
|
|
|
.PHONY: limine-version
|
|
|
|
limine-version:
|
|
|
|
$(MAKE) '$(call SHESCAPE,$(BINDIR))/limine-version'
|
|
|
|
|
2023-02-07 01:58:19 +03:00
|
|
|
.PHONY: limine-enroll-config
|
|
|
|
limine-enroll-config:
|
|
|
|
$(MAKE) '$(call SHESCAPE,$(BINDIR))/limine-enroll-config'
|
|
|
|
|
2021-04-11 10:56:48 +03:00
|
|
|
.PHONY: clean
|
2022-08-18 18:32:54 +03:00
|
|
|
clean: limine-bios-clean limine-uefi-ia32-clean limine-uefi-x86-64-clean limine-uefi-aarch64-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-03-10 16:01:49 +03:00
|
|
|
$(INSTALL_DATA) '$(call SHESCAPE,$(SRCDIR))/LICENSE' '$(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'
|
|
|
|
$(INSTALL_DATA) '$(call SHESCAPE,$(BUILDDIR))/man/man1/limine-version.1' '$(call SHESCAPE,$(DESTDIR)$(mandir))/man1/'
|
2023-02-21 03:35:57 +03:00
|
|
|
ifneq ($(BUILD_LIMINE_DEPLOY),no)
|
2023-02-21 02:15:04 +03:00
|
|
|
$(INSTALL_DATA) '$(call SHESCAPE,$(BUILDDIR))/man/man1/limine-deploy.1' '$(call SHESCAPE,$(DESTDIR)$(mandir))/man1/'
|
2023-02-21 03:35:57 +03:00
|
|
|
endif
|
2023-02-21 02:15:04 +03:00
|
|
|
$(INSTALL_DATA) '$(call SHESCAPE,$(BUILDDIR))/man/man1/limine-enroll-config.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-03-16 04:49:45 +03:00
|
|
|
$(INSTALL_DATA) '$(call SHESCAPE,$(BINDIR))/limine.sys' '$(call SHESCAPE,$(DESTDIR)$(datarootdir))/limine/'
|
2022-09-28 01:47:21 +03:00
|
|
|
endif
|
|
|
|
ifneq ($(BUILD_CD),no)
|
2023-03-16 04:49:45 +03:00
|
|
|
$(INSTALL_DATA) '$(call SHESCAPE,$(BINDIR))/limine-cd.bin' '$(call SHESCAPE,$(DESTDIR)$(datarootdir))/limine/'
|
2022-09-28 01:47:21 +03:00
|
|
|
endif
|
|
|
|
ifneq ($(BUILD_CD_EFI),no)
|
2023-03-16 04:49:45 +03:00
|
|
|
$(INSTALL_DATA) '$(call SHESCAPE,$(BINDIR))/limine-cd-efi.bin' '$(call SHESCAPE,$(DESTDIR)$(datarootdir))/limine/'
|
2022-09-28 01:47:21 +03:00
|
|
|
endif
|
|
|
|
ifneq ($(BUILD_PXE),no)
|
2023-03-16 04:49:45 +03:00
|
|
|
$(INSTALL_DATA) '$(call SHESCAPE,$(BINDIR))/limine-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
|
|
|
|
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))'
|
|
|
|
$(INSTALL_PROGRAM) '$(call SHESCAPE,$(BINDIR))/limine-version' '$(call SHESCAPE,$(DESTDIR)$(bindir))/'
|
|
|
|
$(INSTALL_PROGRAM) '$(call SHESCAPE,$(BINDIR))/limine-enroll-config' '$(call SHESCAPE,$(DESTDIR)$(bindir))/'
|
2022-09-28 01:47:21 +03:00
|
|
|
ifneq ($(BUILD_LIMINE_DEPLOY),no)
|
2023-03-16 04:49:45 +03:00
|
|
|
$(INSTALL_PROGRAM) '$(call SHESCAPE,$(BINDIR))/limine-deploy' '$(call SHESCAPE,$(DESTDIR)$(bindir))/'
|
2022-09-28 01:47:21 +03:00
|
|
|
endif
|
2022-01-18 00:36:47 +03:00
|
|
|
|
2023-02-12 22:14:51 +03:00
|
|
|
.PHONY: install-strip
|
|
|
|
install-strip: install
|
2023-04-21 19:57:08 +03:00
|
|
|
$(NATIVE_STRIP) '$(call SHESCAPE,$(DESTDIR)$(bindir))/limine-version'
|
|
|
|
$(NATIVE_STRIP) '$(call SHESCAPE,$(DESTDIR)$(bindir))/limine-enroll-config'
|
2023-02-12 22:14:51 +03:00
|
|
|
ifneq ($(BUILD_LIMINE_DEPLOY),no)
|
2023-04-21 19:57:08 +03:00
|
|
|
$(NATIVE_STRIP) '$(call SHESCAPE,$(DESTDIR)$(bindir))/limine-deploy'
|
2023-02-12 22:14:51 +03:00
|
|
|
endif
|
|
|
|
|
2022-01-16 22:08:53 +03:00
|
|
|
.PHONY: uninstall
|
|
|
|
uninstall:
|
2023-03-10 16:01:49 +03:00
|
|
|
rm -f '$(call SHESCAPE,$(DESTDIR)$(docdir))/LICENSE'
|
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-02-21 02:15:04 +03:00
|
|
|
rm -f '$(call SHESCAPE,$(DESTDIR)$(mandir))/man1/limine-version.1'
|
|
|
|
rm -f '$(call SHESCAPE,$(DESTDIR)$(mandir))/man1/limine-deploy.1'
|
|
|
|
rm -f '$(call SHESCAPE,$(DESTDIR)$(mandir))/man1/limine-enroll-config.1'
|
2023-03-16 04:49:45 +03:00
|
|
|
rm -f '$(call SHESCAPE,$(DESTDIR)$(bindir))/limine-version'
|
|
|
|
rm -f '$(call SHESCAPE,$(DESTDIR)$(bindir))/limine-enroll-config'
|
|
|
|
rm -f '$(call SHESCAPE,$(DESTDIR)$(bindir))/limine-deploy'
|
|
|
|
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-04-18 13:41:01 +03:00
|
|
|
cd '$(call SHESCAPE,$(SRCDIR))/stage1/hdd' && nasm bootsect.asm -Wall $(WERROR_FLAG) -fbin -DBUILDDIR="'"'$(call NASMESCAPE,$(BUILDDIR))'"'" -o '$(call SHESCAPE,$(BINDIR))/limine-hdd.bin'
|
2022-08-15 18:41:04 +03:00
|
|
|
ifneq ($(BUILD_CD),no)
|
2023-04-18 13:41:01 +03:00
|
|
|
cd '$(call SHESCAPE,$(SRCDIR))/stage1/cd' && nasm bootsect.asm -Wall $(WERROR_FLAG) -fbin -DBUILDDIR="'"'$(call NASMESCAPE,$(BUILDDIR))'"'" -o '$(call SHESCAPE,$(BINDIR))/limine-cd.bin'
|
2022-02-18 04:23:39 +03:00
|
|
|
endif
|
2022-08-15 18:41:04 +03:00
|
|
|
ifneq ($(BUILD_PXE),no)
|
2023-04-18 13:41:01 +03:00
|
|
|
cd '$(call SHESCAPE,$(SRCDIR))/stage1/pxe' && nasm bootsect.asm -Wall $(WERROR_FLAG) -fbin -DBUILDDIR="'"'$(call NASMESCAPE,$(BUILDDIR))'"'" -o '$(call SHESCAPE,$(BINDIR))/limine-pxe.bin'
|
2022-02-18 04:23:39 +03:00
|
|
|
endif
|
2022-02-03 12:38:43 +03:00
|
|
|
cp '$(call SHESCAPE,$(BUILDDIR))/common-bios/limine.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'
|
2022-08-15 18:41:04 +03:00
|
|
|
ifneq ($(BUILD_LIMINE_DEPLOY),no)
|
2022-04-02 10:31:19 +03:00
|
|
|
$(MAKE) limine-deploy
|
2022-02-18 04:23:39 +03:00
|
|
|
endif
|
2021-11-28 21:00:49 +03:00
|
|
|
|
2022-09-28 01:47:21 +03:00
|
|
|
$(call MKESCAPE,$(BINDIR))/limine-cd-efi.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)
|
2022-08-15 18:41:04 +03:00
|
|
|
ifneq ($(BUILD_CD_EFI),no)
|
2022-08-08 23:00:25 +03:00
|
|
|
$(MKDIR_P) '$(call SHESCAPE,$(BINDIR))'
|
2022-04-17 09:46:28 +03:00
|
|
|
rm -f '$(call SHESCAPE,$(BINDIR))/limine-cd-efi.bin'
|
2023-06-15 04:17:27 +03:00
|
|
|
dd if=/dev/zero of='$(call SHESCAPE,$(BINDIR))/limine-cd-efi.bin' bs=1M count=0 seek=16 2>/dev/null
|
|
|
|
( mformat -i '$(call SHESCAPE,$(BINDIR))/limine-cd-efi.bin' :: && \
|
2022-03-30 16:14:02 +03:00
|
|
|
mmd -D s -i '$(call SHESCAPE,$(BINDIR))/limine-cd-efi.bin' ::/EFI && \
|
|
|
|
mmd -D s -i '$(call SHESCAPE,$(BINDIR))/limine-cd-efi.bin' ::/EFI/BOOT && \
|
2022-09-05 03:17:53 +03:00
|
|
|
( ( [ -f '$(call SHESCAPE,$(BUILDDIR))/common-uefi-aarch64/BOOTAA64.EFI' ] && \
|
|
|
|
mcopy -D o -i '$(call SHESCAPE,$(BINDIR))/limine-cd-efi.bin' '$(call SHESCAPE,$(BUILDDIR))/common-uefi-aarch64/BOOTAA64.EFI' ::/EFI/BOOT ) || true ) && \
|
2022-06-15 04:25:36 +03:00
|
|
|
( ( [ -f '$(call SHESCAPE,$(BUILDDIR))/common-uefi-x86-64/BOOTX64.EFI' ] && \
|
|
|
|
mcopy -D o -i '$(call SHESCAPE,$(BINDIR))/limine-cd-efi.bin' '$(call SHESCAPE,$(BUILDDIR))/common-uefi-x86-64/BOOTX64.EFI' ::/EFI/BOOT ) || true ) && \
|
|
|
|
( ( [ -f '$(call SHESCAPE,$(BUILDDIR))/common-uefi-ia32/BOOTIA32.EFI' ] && \
|
|
|
|
mcopy -D o -i '$(call SHESCAPE,$(BINDIR))/limine-cd-efi.bin' '$(call SHESCAPE,$(BUILDDIR))/common-uefi-ia32/BOOTIA32.EFI' ::/EFI/BOOT ) || true ) \
|
2022-03-30 16:14:02 +03:00
|
|
|
) || rm -f '$(call SHESCAPE,$(BINDIR))/limine-cd-efi.bin'
|
2022-02-08 17:35:54 +03:00
|
|
|
endif
|
2021-03-17 15:19:06 +03:00
|
|
|
|
2022-04-17 09:46:28 +03:00
|
|
|
.PHONY: limine-cd-efi
|
|
|
|
limine-cd-efi:
|
|
|
|
$(MAKE) '$(call SHESCAPE,$(BINDIR))/limine-cd-efi.bin'
|
|
|
|
|
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'
|
|
|
|
|
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
|
|
|
|
|
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"
|
2022-06-21 09:47:48 +03:00
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/libgcc-binaries/.git"
|
2022-06-25 06:10:55 +03:00
|
|
|
rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/libgcc-binaries/.gitignore"
|
2022-09-02 02:08:19 +03:00
|
|
|
libgcc_needed="i686 x86_64-no-red-zone aarch64"; \
|
|
|
|
for f in $$libgcc_needed; do \
|
|
|
|
mv '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/libgcc-binaries/libgcc-$$f.a" '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/libgcc-binaries/libgcc-$$f.a.save"; \
|
|
|
|
done; \
|
|
|
|
rm '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/libgcc-binaries"/*.a; \
|
|
|
|
for f in $$libgcc_needed; do \
|
|
|
|
mv '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/libgcc-binaries/libgcc-$$f.a.save" '$(call SHESCAPE,$(BUILDDIR))'/"limine-$(LIMINE_VERSION)/libgcc-binaries/libgcc-$$f.a"; \
|
|
|
|
done
|
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"
|
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-03-14 19:20:46 +03:00
|
|
|
rm -rf ovmf* config.log config.status GNUmakefile config.h toolchain-files man/man1/limine-version.1 man/man1/limine-deploy.1 man/man1/limine-enroll-config.1
|
2021-01-15 07:14:20 +03:00
|
|
|
|
2022-01-16 08:09:36 +03:00
|
|
|
.PHONY: maintainer-clean
|
|
|
|
maintainer-clean: distclean
|
2023-06-06 02:16:58 +03:00
|
|
|
cd '$(call SHESCAPE,$(SRCDIR))' && rm -rf common/flanterm common/stb/stb_image.h decompressor/tinf freestanding-headers libgcc-binaries limine-efi freestanding-toolchain configure build-aux *'~' autom4te.cache *.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'
|
|
|
|
|
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
|