mirror of
https://github.com/richfelker/musl-cross-make.git
synced 2025-04-19 07:24:59 +02:00
Merge a108b69bdf
into f00b09f654
This commit is contained in:
commit
98b010df52
14
Makefile
14
Makefile
@ -1,5 +1,5 @@
|
||||
|
||||
OUTPUT = $(PWD)/output
|
||||
OUTPUT = $(CURDIR)/output
|
||||
SOURCES = sources
|
||||
|
||||
CONFIG_SUB_REV = 3d5db9ebe860
|
||||
@ -26,6 +26,8 @@ LINUX_SITE = https://cdn.kernel.org/pub/linux/kernel
|
||||
|
||||
BUILD_DIR = build-$(TARGET)
|
||||
|
||||
HTTP_GET = wget -c -O $(2) $(1)
|
||||
|
||||
-include config.mak
|
||||
|
||||
SRC_DIRS = gcc-$(GCC_VER) binutils-$(BINUTILS_VER) musl-$(MUSL_VER) \
|
||||
@ -65,17 +67,17 @@ $(SOURCES):
|
||||
|
||||
$(SOURCES)/config.sub: | $(SOURCES)
|
||||
mkdir -p $@.tmp
|
||||
cd $@.tmp && wget -c -O $(notdir $@) "http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=$(CONFIG_SUB_REV)"
|
||||
cd $@.tmp && $(call HTTP_GET,"http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=$(CONFIG_SUB_REV)",$(notdir $@))
|
||||
cd $@.tmp && touch $(notdir $@)
|
||||
cd $@.tmp && sha1sum -c $(PWD)/hashes/$(notdir $@).$(CONFIG_SUB_REV).sha1
|
||||
cd $@.tmp && sha1sum -c $(CURDIR)/hashes/$(notdir $@).$(CONFIG_SUB_REV).sha1
|
||||
mv $@.tmp/$(notdir $@) $@
|
||||
rm -rf $@.tmp
|
||||
|
||||
$(SOURCES)/%: hashes/%.sha1 | $(SOURCES)
|
||||
mkdir -p $@.tmp
|
||||
cd $@.tmp && wget -c -O $(notdir $@) $(SITE)/$(notdir $@)
|
||||
cd $@.tmp && $(call HTTP_GET,$(SITE)/$(notdir $@),$(notdir $@))
|
||||
cd $@.tmp && touch $(notdir $@)
|
||||
cd $@.tmp && sha1sum -c $(PWD)/hashes/$(notdir $@).sha1
|
||||
cd $@.tmp && sha1sum -c $(CURDIR)/hashes/$(notdir $@).sha1
|
||||
mv $@.tmp/$(notdir $@) $@
|
||||
rm -rf $@.tmp
|
||||
|
||||
@ -143,7 +145,7 @@ $(BUILD_DIR)/Makefile: | $(BUILD_DIR)
|
||||
ln -sf ../litecross/Makefile $@
|
||||
|
||||
$(BUILD_DIR)/config.mak: | $(BUILD_DIR)
|
||||
printf >$@ -- '%s\n' \
|
||||
printf >$@ '%s\n' \
|
||||
"MUSL_SRCDIR = ../musl-$(MUSL_VER)" \
|
||||
"GCC_SRCDIR = ../gcc-$(GCC_VER)" \
|
||||
"BINUTILS_SRCDIR = ../binutils-$(BINUTILS_VER)" \
|
||||
|
@ -41,6 +41,11 @@
|
||||
# ISL_VER =
|
||||
# LINUX_VER =
|
||||
|
||||
# By default source archives are downloaded with wget. curl is also an option.
|
||||
|
||||
# HTTP_GET = wget -c -O $(2) $(1)
|
||||
# HTTP_GET = curl -C - -L -o $(2) $(1)
|
||||
|
||||
# Something like the following can be used to produce a static-linked
|
||||
# toolchain that's deployable to any system with matching arch, using
|
||||
# an existing musl-targeted cross compiler. This only # works if the
|
||||
@ -64,4 +69,4 @@
|
||||
# target libraries with the following, but then gdb needs to be told
|
||||
# where to look for source files.
|
||||
|
||||
# COMMON_CONFIG += --with-debug-prefix-map=$(PWD)=
|
||||
# COMMON_CONFIG += --with-debug-prefix-map=$(CURDIR)=
|
||||
|
@ -1,5 +1,5 @@
|
||||
|
||||
OUTPUT = $(PWD)/output
|
||||
OUTPUT = $(CURDIR)/output
|
||||
|
||||
BINUTILS_SRCDIR = BINUTILS_SRCDIR_not_set
|
||||
GCC_SRCDIR = GCC_SRCDIR_not_set
|
||||
@ -51,7 +51,6 @@ FULL_TOOLCHAIN_CONFIG = --enable-languages=c,c++ \
|
||||
--target=$(TARGET) --prefix= \
|
||||
--libdir=/lib --disable-multilib \
|
||||
--with-sysroot=$(SYSROOT) \
|
||||
--with-build-sysroot=$(PWD)/obj_sysroot \
|
||||
--enable-tls \
|
||||
--disable-libmudflap --disable-libsanitizer \
|
||||
--disable-gnu-indirect-function \
|
||||
@ -63,9 +62,12 @@ FULL_MUSL_CONFIG = $(MUSL_CONFIG) \
|
||||
|
||||
ifeq ($(NATIVE),)
|
||||
SYSROOT = /$(TARGET)
|
||||
FULL_TOOLCHAIN_CONFIG += --with-build-sysroot=$(CURDIR)/obj_sysroot
|
||||
FULL_MUSL_CONFIG += CC="$(XGCC)" LIBCC="../obj_toolchain/$(TARGET)/libgcc/libgcc.a"
|
||||
MUSL_VARS = AR=../obj_toolchain/binutils/ar RANLIB=../obj_toolchain/binutils/ranlib
|
||||
obj_musl/.lc_configured: | obj_toolchain/gcc/.lc_built
|
||||
obj_musl/.lc_built: | obj_toolchain/$(TARGET)/libgcc/libgcc.a
|
||||
obj_toolchain/gcc/.lc_built: | obj_sysroot/usr obj_sysroot/lib64 obj_sysroot/include
|
||||
obj_toolchain/.lc_built: | obj_sysroot/.lc_libs obj_sysroot/.lc_headers
|
||||
else
|
||||
SYSROOT = /
|
||||
@ -153,16 +155,16 @@ obj_toolchain/.lc_configured: | obj_toolchain src_toolchain
|
||||
cd obj_toolchain && ../src_toolchain/configure $(FULL_TOOLCHAIN_CONFIG)
|
||||
touch $@
|
||||
|
||||
obj_toolchain/gcc/.lc_built: | obj_toolchain/.lc_configured obj_sysroot/usr obj_sysroot/lib64 obj_sysroot/include
|
||||
obj_toolchain/gcc/.lc_built: | obj_toolchain/.lc_configured
|
||||
cd obj_toolchain && $(MAKE) MAKE="$(MAKE)" all-gcc
|
||||
touch $@
|
||||
|
||||
obj_musl/.lc_configured: | obj_toolchain/gcc/.lc_built obj_musl src_musl
|
||||
obj_musl/.lc_configured: | obj_musl src_musl
|
||||
cd obj_musl && ../src_musl/configure $(FULL_MUSL_CONFIG)
|
||||
touch $@
|
||||
|
||||
obj_sysroot/.lc_headers: | obj_musl/.lc_configured obj_sysroot
|
||||
cd obj_musl && $(MAKE) DESTDIR=$(PWD)/obj_sysroot install-headers
|
||||
cd obj_musl && $(MAKE) DESTDIR=$(CURDIR)/obj_sysroot install-headers
|
||||
touch $@
|
||||
|
||||
obj_toolchain/$(TARGET)/libgcc/.lc_configured: | obj_sysroot/.lc_headers
|
||||
@ -177,7 +179,7 @@ obj_musl/.lc_built: | obj_musl/.lc_configured
|
||||
touch $@
|
||||
|
||||
obj_sysroot/.lc_libs: | obj_musl/.lc_built
|
||||
cd obj_musl && $(MAKE) $(MUSL_VARS) DESTDIR=$(PWD)/obj_sysroot install
|
||||
cd obj_musl && $(MAKE) $(MUSL_VARS) DESTDIR=$(CURDIR)/obj_sysroot install
|
||||
touch $@
|
||||
|
||||
obj_toolchain/.lc_built: | obj_toolchain/.lc_configured obj_toolchain/gcc/.lc_built
|
||||
@ -203,8 +205,9 @@ kernel-headers: | obj_kernel_headers/.lc_built
|
||||
src_kernel_headers: | $(LINUX_SRCDIR)
|
||||
ln -sf "$(LINUX_SRCDIR)" $@
|
||||
obj_kernel_headers/.lc_built: | src_kernel_headers
|
||||
mkdir -p $(PWD)/obj_kernel_headers/staged
|
||||
cd src_kernel_headers && $(MAKE) ARCH=$(LINUX_ARCH) O=$(PWD)/obj_kernel_headers INSTALL_HDR_PATH=$(PWD)/obj_kernel_headers/staged headers_install
|
||||
mkdir -p $(CURDIR)/obj_kernel_headers/staged
|
||||
cd src_kernel_headers && $(MAKE) $(KERNEL_VARS) ARCH=$(LINUX_ARCH) O=$(CURDIR)/obj_kernel_headers INSTALL_HDR_PATH=$(CURDIR)/obj_kernel_headers/staged headers_install
|
||||
find obj_kernel_headers/staged/include '(' -name .install -o -name ..install.cmd ')' -exec rm {} +
|
||||
touch $@
|
||||
install-kernel-headers: | obj_kernel_headers/.lc_built
|
||||
mkdir -p $(DESTDIR)$(OUTPUT)$(SYSROOT)/include
|
||||
|
@ -0,0 +1,33 @@
|
||||
From 22cbfa6ae94c9a09ee2ea6b6237d9674be3b7e03 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Forney <mforney@mforney.org>
|
||||
Date: Tue, 6 Dec 2016 21:43:13 -0800
|
||||
Subject: [PATCH] Expand \t escapes in sed expressions
|
||||
|
||||
---
|
||||
scripts/headers_install.sh | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/scripts/headers_install.sh b/scripts/headers_install.sh
|
||||
index fdebd66..a9a9ef2 100755
|
||||
--- a/scripts/headers_install.sh
|
||||
+++ b/scripts/headers_install.sh
|
||||
@@ -31,12 +31,12 @@ for i in "$@"
|
||||
do
|
||||
FILE="$(basename "$i")"
|
||||
sed -r \
|
||||
- -e 's/([ \t(])(__user|__force|__iomem)[ \t]/\1/g' \
|
||||
- -e 's/__attribute_const__([ \t]|$)/\1/g' \
|
||||
+ -e 's/([ (])(__user|__force|__iomem)[ ]/\1/g' \
|
||||
+ -e 's/__attribute_const__([ ]|$)/\1/g' \
|
||||
-e 's@^#include <linux/compiler.h>@@' \
|
||||
-e 's/(^|[^a-zA-Z0-9])__packed([^a-zA-Z0-9_]|$)/\1__attribute__((packed))\2/g' \
|
||||
- -e 's/(^|[ \t(])(inline|asm|volatile)([ \t(]|$)/\1__\2__\3/g' \
|
||||
- -e 's@#(ifndef|define|endif[ \t]*/[*])[ \t]*_UAPI@#\1 @' \
|
||||
+ -e 's/(^|[ (])(inline|asm|volatile)([ (]|$)/\1__\2__\3/g' \
|
||||
+ -e 's@#(ifndef|define|endif[ ]*/[*])[ ]*_UAPI@#\1 @' \
|
||||
"$SRCDIR/$i" > "$OUTDIR/$FILE.sed" || exit 1
|
||||
scripts/unifdef -U__KERNEL__ -D__EXPORTED_HEADERS__ "$OUTDIR/$FILE.sed" \
|
||||
> "$OUTDIR/$FILE"
|
||||
--
|
||||
2.10.2
|
||||
|
Loading…
Reference in New Issue
Block a user