#!/bin/sh -e # # This file is part of musl-mod: modified version of Musl libc library. # musl-mod in general and this file specifically are available under # MIT license. See COPYRIGHT file. # defined() { [ x"$2" = x ] && echo $1 is undefined && exit 1 echo $1 = $2 } pexec() { echo $@ $@ } print_help() { cat < directory where to install musl EOF exit 0 } prefix=/tmp for arg; do case $arg in --prefix=*) prefix=${arg#--prefix=} ;; --help) print_help ;; *) echo $args: unknown argument && exit 1 ;; esac done : ${CC:=gcc} : ${LD:=ld} arch=x86_64 gcc_prefix=$(dirname $(gcc -print-libgcc-file-name)) tool_cflags="-Wall -nostdinc -Wno-main \ -ffreestanding -fno-pic -fno-stack-protector \ -Igenerated/include -Iarch/$arch \ -I${gcc_prefix}/include -Iarch/generic" cflags="$tool_cflags $CFLAGS" echo prefix = $prefix >config.mk [ -f tools/musl-make ] && exit 0 pexec $CC $cflags -c -o tools/common.o tools/common.c pexec $CC $cflags -c -o tools/musl-make.o tools/musl-make.c pexec $LD -nostdlib -o tools/musl-make tools/musl-make.o tools/common.o