Restructured paths
1. build is in build/$(arch) 2. tooldir is in build/toolchain-$(arch) 3. global_srcdir is in build/src-{world,toolchain} 4. global_objdir is in build/obj-{world,toolchain}
This commit is contained in:
parent
61db92519f
commit
a5d0778d53
19 changed files with 233 additions and 231 deletions
|
@ -1,4 +1,4 @@
|
|||
# Makefile - hhl - /usr/src/toolchain
|
||||
# Makefile - hhl - /src/toolchain
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
|
||||
|
@ -23,7 +23,7 @@ subdirs += linux-headers
|
|||
subdirs += glibc
|
||||
subdirs += gcc-pass2
|
||||
|
||||
installdirs += $(build)/toolchain $(build)/src $(build)/obj
|
||||
installdirs += $(tooldir) $(global_srcdir) $(global_objdir)
|
||||
|
||||
all: $(subdirs) reduce-size
|
||||
$(info $(grn)=== Temporary toolchain built ===$(reset))
|
||||
|
@ -43,31 +43,31 @@ distclean: clean
|
|||
do $(MAKE) -C $${subdir} distclean ; done
|
||||
|
||||
strip:
|
||||
strip --strip-debug /toolchain/lib/* > /dev/null 2>&1 || true
|
||||
/usr/bin/strip --strip-unneeded /toolchain/bin/*> /dev/null 2>&1 || true
|
||||
/usr/bin/strip --strip-unneeded /toolchain/sbin/*> /dev/null 2>&1 || true
|
||||
/usr/bin/strip --strip-unneeded /toolchain/libexec/gcc/*/${gcc_version}/* || true
|
||||
/usr/bin/strip --strip-debug /toolchain/bin/*> /dev/null 2>&1 || true
|
||||
/usr/bin/strip --strip-debug /toolchain/sbin/*> /dev/null 2>&1 || true
|
||||
/usr/bin/strip --strip-debug /toolchain/libexec/gcc/*/${gcc_version}/* || true
|
||||
strip --strip-debug $(tooldir)/lib/* > /dev/null 2>&1 || true
|
||||
/usr/bin/strip --strip-unneeded $(tooldir)/bin/*> /dev/null 2>&1 || true
|
||||
/usr/bin/strip --strip-unneeded $(tooldir)/sbin/*> /dev/null 2>&1 || true
|
||||
/usr/bin/strip --strip-unneeded $(tooldir)/libexec/gcc/*/${gcc_version}/* || true
|
||||
/usr/bin/strip --strip-debug $(tooldir)/bin/*> /dev/null 2>&1 || true
|
||||
/usr/bin/strip --strip-debug $(tooldir)/sbin/*> /dev/null 2>&1 || true
|
||||
/usr/bin/strip --strip-debug $(tooldir)/libexec/gcc/*/$(gcc_version)/* || true
|
||||
|
||||
removedoc:
|
||||
rm -rf /toolchain/doc
|
||||
rm -rf /toolschain/info
|
||||
rm -rf /toolchain/man
|
||||
rm -rf /toolchain/share/doc
|
||||
rm -rf /toolschain/share/info
|
||||
rm -rf /toolchain/share/man
|
||||
rm -rf $(tooldir)/doc
|
||||
rm -rf $(tooldir)/info
|
||||
rm -rf $(tooldir)/man
|
||||
rm -rf $(tooldir)/share/doc
|
||||
rm -rf $(tooldir)/share/info
|
||||
rm -rf $(tooldir)/share/man
|
||||
|
||||
remove-la:
|
||||
find /toolchain/lib /toolchain/libexec -name '*.la' -delete
|
||||
find $(tooldir)/lib $(tooldir)/libexec -name '*.la' -delete
|
||||
|
||||
reduce-size: strip removedoc remove-la
|
||||
|
||||
remove: distclean
|
||||
for subdir in ${subdirs} ; \
|
||||
do $(MAKE) -C $${subdir} remove ; done
|
||||
rm -rf /toolchain/* .built
|
||||
rm -rf $(tooldir)/* .built
|
||||
|
||||
.PHONY: \
|
||||
all \
|
||||
|
|
|
@ -1,23 +1,22 @@
|
|||
# Makefile - hhl - /usr/src/toolchain/binutils-pass1
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
#
|
||||
distname = binutils
|
||||
objdirname = binutils-pass1
|
||||
include toolchain.mk
|
||||
|
||||
config_opts += --with-sysroot=${build}
|
||||
config_opts += --target=${tgt}
|
||||
config_opts += --with-sysroot=$(build)
|
||||
config_opts += --target=$(tgt)
|
||||
config_opts += --disable-nls
|
||||
config_opts += --disable-werror
|
||||
|
||||
ifeq (${arch}, x86_64)
|
||||
install: | /toolchain/lib64
|
||||
else ifeq (${arch}, riscv64)
|
||||
install: | /toolchain/lib64
|
||||
ifeq ($(arch), x86_64)
|
||||
install: | $(tooldir)/lib64
|
||||
else ifeq ($(arch), riscv64)
|
||||
install: | $(tooldir)/lib64
|
||||
endif
|
||||
|
||||
include targets.mk
|
||||
|
||||
/toolchain/lib64:
|
||||
install -d /toolchain/lib
|
||||
ln -s lib /toolchain/lib64
|
||||
$(tooldir)/lib64:
|
||||
install -d $(tooldir)/lib
|
||||
ln -s lib $(toolcdir)/lib64
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
# Makefile - hhl - /usr/src/toolchain/gcc-pass1
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
#
|
||||
|
||||
distname = gcc
|
||||
include ../../config.mk
|
||||
ifeq ($(filter x86_64 aarch64 riscv64, $(arch)), $(arch))
|
||||
patches += gcc-lib64.patch
|
||||
endif
|
||||
objdirname = gcc-pass1
|
||||
objdir = $(global_objdir)/gcc-pass1
|
||||
include toolchain.mk
|
||||
|
||||
srcdirs += ${srcdir}/mpfr
|
||||
srcdirs += ${srcdir}/gmp
|
||||
srcdirs += ${srcdir}/mpc
|
||||
srcdirs += $(srcdir)/mpfr
|
||||
srcdirs += $(srcdir)/gmp
|
||||
srcdirs += $(srcdir)/mpc
|
||||
|
||||
config_opts += --target=$(tgt)
|
||||
config_opts += --with-glibc-version=2.11
|
||||
|
@ -36,18 +36,18 @@ include targets.mk
|
|||
|
||||
$(config_tgt): | $(srcdirs)
|
||||
|
||||
${srcdir}/mpfr: | ${srcdir}
|
||||
$(MAKE) -C ${distdir} mpfr
|
||||
tar -xJf ${distdir}/mpfr-${mpfr_version}.tar.xz -C ${srcdir}
|
||||
mv ${srcdir}/mpfr-${mpfr_version} ${srcdir}/mpfr
|
||||
$(srcdir)/mpfr: | $(srcdir)
|
||||
$(MAKE) -C $(distdir) mpfr
|
||||
tar -xJf $(distdir)/mpfr-$(mpfr_version).tar.xz -C $(srcdir)
|
||||
mv $(srcdir)/mpfr-$(mpfr_version) $(srcdir)/mpfr
|
||||
|
||||
${srcdir}/gmp: | ${srcdir}
|
||||
$(MAKE) -C ${distdir} gmp
|
||||
tar -xJf ${distdir}/gmp-${gmp_version}.tar.xz -C ${srcdir}
|
||||
mv ${srcdir}/gmp-${gmp_version} ${srcdir}/gmp
|
||||
$(srcdir)/gmp: | $(srcdir)
|
||||
$(MAKE) -C $(distdir) gmp
|
||||
tar -xJf $(distdir)/gmp-$(gmp_version).tar.xz -C $(srcdir)
|
||||
mv $(srcdir)/gmp-$(gmp_version) $(srcdir)/gmp
|
||||
|
||||
${srcdir}/mpc: | ${srcdir}
|
||||
$(MAKE) -C ${distdir} mpc
|
||||
tar -xzf ${distdir}/mpc-${mpc_version}.tar.gz -C ${srcdir}
|
||||
mv ${srcdir}/mpc-${mpc_version} ${srcdir}/mpc
|
||||
$(srcdir)/mpc: | $(srcdir)
|
||||
$(MAKE) -C $(distdir) mpc
|
||||
tar -xzf $(distdir)/mpc-$(mpc_version).tar.gz -C $(srcdir)
|
||||
mv $(srcdir)/mpc-$(mpc_version) $(srcdir)/mpc
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
# Makefile - hhl - /usr/src/toolchain/gcc-pass2
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
#
|
||||
distname = gcc
|
||||
objdirname = gcc-pass2
|
||||
include toolchain.mk
|
||||
objdir = $(global_objdir)/gcc-pass2
|
||||
config_opts += --target=$(tgt)
|
||||
config_opts += --with-sysroot=$(build)
|
||||
config_opts += --enable-languages=c,c++
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Makefile - hhl - /usr/src/toolchain/glibc
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
#
|
||||
distname = glibc
|
||||
|
||||
patches += glibc-2.31-fhs-1.patch
|
||||
|
@ -16,14 +16,14 @@ config_opts += --disable-werror
|
|||
config_opts += --enable-stack-protector=strong
|
||||
config_opts += libc_cv_slibdir=/lib
|
||||
|
||||
ifeq (${arch},x86_64)
|
||||
ifeq ($(arch),x86_64)
|
||||
define makelinks
|
||||
ln -sfv ../lib/ld-linux-x86-64.so.2 $(DESTDIR)/lib64
|
||||
ln -sfv ../lib/ld-linux-x86-64.so.2 $(DESTDIR)/lib64/ld-lsb-x86-64.so.3
|
||||
endef
|
||||
else ifeq (${arch},armv7l)
|
||||
else ifeq ($(arch),armv7l)
|
||||
makelinks = ln -sfv ld-2.31.so $(DESTDIR)/lib/ld-linux.so.3
|
||||
else ifeq (${arch},riscv64)
|
||||
else ifeq ($(arch),riscv64)
|
||||
makelinks = ln -sfv ../lib/ld-linux-riscv64-lp64d.so.1 $(DESTDIR)/lib64
|
||||
endif
|
||||
|
||||
|
@ -36,18 +36,22 @@ define makelocales
|
|||
$$(echo $${l} | cut -f 2 -d '.') $${l} --prefix=$(DESTDIR) ; done
|
||||
endef
|
||||
else
|
||||
makelocales = $(MAKE) DESTDIR=$(DESTDIR) -C ${objdir} localedata/install-locales
|
||||
makelocales = $(MAKE) DESTDIR=$(DESTDIR) -C $(objdir) localedata/install-locales
|
||||
endif
|
||||
|
||||
|
||||
define post_install
|
||||
${makelinks}
|
||||
install -d $(DESTDIR)/var/cache/nscd
|
||||
install -m0644 ${srcdir}/nscd/nscd.conf $(DESTDIR)/etc
|
||||
install -m0644 ${wkgdir}/etc/nsswitch.conf $(DESTDIR)/etc
|
||||
install -m0644 ${wkgdir}/etc/ld.so.conf $(DESTDIR)/etc
|
||||
${makelocales}
|
||||
install -m0644 $(srcdir)/nscd/nscd.conf $(DESTDIR)/etc
|
||||
install -m0644 $(wkgdir)/etc/nsswitch.conf $(DESTDIR)/etc
|
||||
install -m0644 $(wkgdir)/etc/ld.so.conf $(DESTDIR)/etc
|
||||
$(makelocales)
|
||||
endef
|
||||
|
||||
include targets.mk
|
||||
|
||||
$(srcdir)/.dirstamp: | $(global_srcdir)
|
||||
|
||||
$(global_srcdir):
|
||||
install -d $@
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
# Makefile - hhl - /usr/src/toolchain/linux-headers
|
||||
# Copyright 2020 Nathan Fisher <nfisher.sr@gmail.com>
|
||||
#
|
||||
#
|
||||
distname = linux
|
||||
config_tgt = ${objdir}/.configured
|
||||
config_tgt = $(objdir)/.configured
|
||||
include toolchain.mk
|
||||
config_cmd = $(MAKE) -C ${srcdir} mrproper
|
||||
config_cmd = $(MAKE) -C $(srcdir) mrproper
|
||||
ifeq ($(arch), armv7l)
|
||||
export ARCH=arm
|
||||
else ifeq ($(arch), aarch64)
|
||||
|
@ -14,14 +14,14 @@ export ARCH=riscv
|
|||
else ifeq ($(arch), risv32)
|
||||
export ARCH=riscv
|
||||
endif
|
||||
build_cmd = KBUILD_OUTPUT=${objdir} $(MAKE) -C ${srcdir} headers
|
||||
build_cmd = KBUILD_OUTPUT=$(objdir) $(MAKE) -C $(srcdir) headers
|
||||
define post_build
|
||||
find ${objdir}/usr/include -name '.*' -delete
|
||||
rm -rf ${objdir}/usr/include/Makefile || true
|
||||
find $(objdir)/usr/include -name '.*' -delete
|
||||
rm -rf $(objdir)/usr/include/Makefile || true
|
||||
install -d $(build)/usr/include
|
||||
endef
|
||||
install_cmd = cp -r ${objdir}/usr/include/* $(build)/usr/include
|
||||
clean_cmd = KBUILD_OUTPUT=${objdir} $(MAKE) -C ${srcdir} clean
|
||||
distclean_cmd = KBUILD_OUTPUT=${objdir} $(MAKE) -C ${srcdir} distclean
|
||||
install_cmd = cp -r $(objdir)/usr/include/* $(build)/usr/include
|
||||
clean_cmd = KBUILD_OUTPUT=$(objdir) $(MAKE) -C $(srcdir) clean
|
||||
distclean_cmd = KBUILD_OUTPUT=$(objdir) $(MAKE) -C $(srcdir) distclean
|
||||
|
||||
include targets.mk
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
include ../../config.mk
|
||||
progname = paxtar
|
||||
bindir = /toolchain/bin
|
||||
bindir = $(tooldir)/bin
|
||||
src = $(basedir)/world/bin/pax/src
|
||||
|
||||
cflags += -O2
|
||||
|
@ -13,10 +13,9 @@ cflags += -fstack-protector-strong
|
|||
cflags += -Wall
|
||||
cflags += -fwrapv
|
||||
|
||||
objdir ?= ${global_objdir}/${progname}
|
||||
srcs += $(wildcard ${src}/*.c)
|
||||
objs += $(patsubst ${src}/%.c,${objdir}/%.o,${srcs})
|
||||
hdrs += $(wildcard ${src}/*.h)
|
||||
srcs += $(wildcard $(src)/*.c)
|
||||
objs += $(patsubst $(src)/%.c,$(objdir)/%.o,$(srcs))
|
||||
hdrs += $(wildcard $(src)/*.h)
|
||||
include world.mk
|
||||
|
||||
install: $(bindir)/$(progname)
|
||||
|
|
|
@ -5,17 +5,17 @@ distname = perl
|
|||
export BUILD_ZLIB = False
|
||||
export BUILD_BZIP2 = 0
|
||||
|
||||
include toolchain.mk
|
||||
|
||||
config_opts = -des
|
||||
config_opts += -Dmksymlinks
|
||||
config_opts += -Dprefix=/toolchain
|
||||
config_opts += -Dprefix=$(tooldir)
|
||||
config_opts += -Dvendorprefix=/usr
|
||||
config_opts += -Dman1dir=/toolchain/share/man/man1
|
||||
config_opts += -Dman3dir=/toolchain/share/man/man3
|
||||
config_opts += -Dman1dir=$(tooldir)/share/man/man1
|
||||
config_opts += -Dman3dir=$(tooldir)/share/man/man3
|
||||
config_opts += -Duseshrplib
|
||||
config_opts += -Dusethreads
|
||||
|
||||
include toolchain.mk
|
||||
|
||||
config_cmd = cd $(objdir) && $(srcdir)/Configure $(config_opts)
|
||||
|
||||
include targets.mk
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue