limine-install: Make hgen a shell script
This commit is contained in:
parent
f2b468c46c
commit
699d531eea
1
.gitignore
vendored
1
.gitignore
vendored
@ -35,4 +35,3 @@
|
|||||||
/common-uefi64
|
/common-uefi64
|
||||||
/decompressor-build
|
/decompressor-build
|
||||||
/stage1.stamp
|
/stage1.stamp
|
||||||
/hgen
|
|
||||||
|
@ -26,9 +26,6 @@ CC := @CC@
|
|||||||
endif
|
endif
|
||||||
export CC
|
export CC
|
||||||
|
|
||||||
HOST_CC ?= @HOST_CC@
|
|
||||||
export HOST_CC
|
|
||||||
|
|
||||||
INSTALL ?= @INSTALL@
|
INSTALL ?= @INSTALL@
|
||||||
export INSTALL
|
export INSTALL
|
||||||
|
|
||||||
@ -80,15 +77,11 @@ override STAGE1_FILES := $(shell find '$(call SHESCAPE,$(SRCDIR))/stage1' -type
|
|||||||
.PHONY: all
|
.PHONY: all
|
||||||
all: limine-uefi limine-bios
|
all: limine-uefi limine-bios
|
||||||
|
|
||||||
$(call MKESCAPE,$(BUILDDIR))/hgen: $(call MKESCAPE,$(SRCDIR))/limine-install/hgen.c
|
|
||||||
mkdir -p '$(call SHESCAPE,$(BUILDDIR))'
|
|
||||||
$(HOST_CC) $(CFLAGS) -std=c11 '$(call SHESCAPE,$(SRCDIR))/limine-install/hgen.c' -o '$(call SHESCAPE,$(BUILDDIR))/hgen'
|
|
||||||
|
|
||||||
.PHONY: limine-hdd.h
|
.PHONY: limine-hdd.h
|
||||||
limine-hdd.h: $(call MKESCAPE,$(BINDIR))/limine-hdd.h
|
limine-hdd.h: $(call MKESCAPE,$(BINDIR))/limine-hdd.h
|
||||||
|
|
||||||
$(call MKESCAPE,$(BINDIR))/limine-hdd.h: $(call MKESCAPE,$(BUILDDIR))/hgen $(call MKESCAPE,$(BINDIR))/limine-hdd.bin
|
$(call MKESCAPE,$(BINDIR))/limine-hdd.h: $(call MKESCAPE,$(BINDIR))/limine-hdd.bin
|
||||||
cd '$(call SHESCAPE,$(BINDIR))' && '$(call SHESCAPE,$(BUILDDIR))/hgen' >limine-hdd.h
|
cd '$(call SHESCAPE,$(BINDIR))' && '$(call SHESCAPE,$(SRCDIR))/limine-install/hgen.sh' >limine-hdd.h
|
||||||
|
|
||||||
.PHONY: limine-install
|
.PHONY: limine-install
|
||||||
limine-install:
|
limine-install:
|
||||||
@ -99,7 +92,7 @@ limine-install:
|
|||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean: limine-bios-clean limine-uefi32-clean limine-uefi64-clean
|
clean: limine-bios-clean limine-uefi32-clean limine-uefi64-clean
|
||||||
rm -rf '$(call SHESCAPE,$(BINDIR))' '$(call SHESCAPE,$(BUILDDIR))/stage1.stamp' '$(call SHESCAPE,$(BUILDDIR))/hgen'
|
rm -rf '$(call SHESCAPE,$(BINDIR))' '$(call SHESCAPE,$(BUILDDIR))/stage1.stamp'
|
||||||
|
|
||||||
.PHONY: install-data
|
.PHONY: install-data
|
||||||
install-data:
|
install-data:
|
||||||
|
@ -62,9 +62,6 @@ if ! test "x$BUILD_ELTORITO_EFI" = "xno"; then
|
|||||||
AC_SUBST(build_eltorito_efi, [yes])
|
AC_SUBST(build_eltorito_efi, [yes])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_ARG_VAR(HOST_CC, [C compiler for the build host [default: $CC]])
|
|
||||||
test "x$HOST_CC" = "x" && HOST_CC="$CC"
|
|
||||||
|
|
||||||
AC_ARG_VAR(TOOLCHAIN, [Alternative toolchain prefix [default: limine]])
|
AC_ARG_VAR(TOOLCHAIN, [Alternative toolchain prefix [default: limine]])
|
||||||
test "x$TOOLCHAIN" = "x" && TOOLCHAIN='limine'
|
test "x$TOOLCHAIN" = "x" && TOOLCHAIN='limine'
|
||||||
|
|
||||||
|
@ -1,42 +0,0 @@
|
|||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
int main(void) {
|
|
||||||
int ok = 0;
|
|
||||||
|
|
||||||
FILE *limine_hdd = fopen("limine-hdd.bin", "r+b");
|
|
||||||
if (limine_hdd == NULL) {
|
|
||||||
goto err;
|
|
||||||
}
|
|
||||||
|
|
||||||
printf("const uint8_t _binary_limine_hdd_bin_data[] = {\n\t");
|
|
||||||
|
|
||||||
int c = fgetc(limine_hdd);
|
|
||||||
for (size_t i = 0; ; i++) {
|
|
||||||
printf("0x%02x", c);
|
|
||||||
|
|
||||||
c = fgetc(limine_hdd);
|
|
||||||
if (c == EOF) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
printf(", ");
|
|
||||||
if (i % 12 == 11) {
|
|
||||||
printf("\n\t");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
printf("\n};\n");
|
|
||||||
|
|
||||||
goto cleanup;
|
|
||||||
|
|
||||||
err:
|
|
||||||
perror("ERROR");
|
|
||||||
ok = 1;
|
|
||||||
|
|
||||||
cleanup:
|
|
||||||
if (limine_hdd != NULL) {
|
|
||||||
fclose(limine_hdd);
|
|
||||||
}
|
|
||||||
|
|
||||||
return ok;
|
|
||||||
}
|
|
14
limine-install/hgen.sh
Executable file
14
limine-install/hgen.sh
Executable file
@ -0,0 +1,14 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
LC_ALL=C
|
||||||
|
export LC_ALL
|
||||||
|
|
||||||
|
cat <<EOF
|
||||||
|
const uint8_t _binary_limine_hdd_bin_data[] = {
|
||||||
|
EOF
|
||||||
|
|
||||||
|
od -v -An -t x1 <limine-hdd.bin | "$SED" 's/ /, 0x/g;s/^, / /g;s/$/,/g'
|
||||||
|
|
||||||
|
cat <<EOF
|
||||||
|
};
|
||||||
|
EOF
|
@ -1,4 +1,7 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
|
|
||||||
|
LC_ALL=C
|
||||||
|
export LC_ALL
|
||||||
|
|
||||||
[ -f version ] || ( git describe --exact-match --tags $(git log -n1 --pretty='%h') 2>/dev/null || git log -n1 --pretty='%h' ) | sed 's/^v//g' | xargs printf '%s'
|
[ -f version ] || ( git describe --exact-match --tags $(git log -n1 --pretty='%h') 2>/dev/null || git log -n1 --pretty='%h' ) | sed 's/^v//g' | xargs printf '%s'
|
||||||
[ -f version ] && ( cat version 2>/dev/null ) | xargs printf '%s'
|
[ -f version ] && ( cat version 2>/dev/null ) | xargs printf '%s'
|
||||||
|
Loading…
Reference in New Issue
Block a user