1 # Build recipe for make.
3 # Copyright (c) 2016-2019 Matias Fonzo, <selk@dragora.org>.
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
21 # Set 'outdir' for a nice and well-organized output directory
22 outdir="${outdir}/${arch}/devel"
24 tarname=${program}-${version}.tar.bz2
27 fetch=ftp://ftp.gnu.org/gnu/make/$tarname
32 GNU Make is a tool which controls the generation of executables and
33 other non-source files of a program from the program's source files.
35 Make gets its knowledge of how to build your program from a file
36 called the makefile, which lists each of the non-source files and
37 how to compute it from other files. When you write a program, you
38 should write a makefile for it, so that it is possible to use Make
39 to build and install the program.
42 homepage=http://www.gnu.org/software/make
45 # Source documentation
46 docs="AUTHORS COPYING ChangeLog NEWS README"
47 docsdir="${docdir}/${program}-${version}"
53 unpack "${tardir}/$tarname"
57 # Set sane permissions
58 chmod -R u+w,go-w,a+rX-s .
60 # Update for hosts based on musl
61 cp -f "${worktree}/archive/common/config.guess" config/config.guess
62 cp -f "${worktree}/archive/common/config.sub" config/config.sub
64 # Apply patches from upstream.
67 # http://git.savannah.nongnu.org/cgit/make.git/commit/?id=fbf71ec25a5986d9003ac16ee9e23675feac9053
68 patch -p1 < "${worktree}/patches/make/fbf71ec25a5986d9003ac16ee9e23675feac9053"
72 ./configure CFLAGS="$QICFLAGS" LDFLAGS="$QILDFLAGS" \
74 --libdir=/usr/lib${libSuffix} \
78 --build="$(cc -dumpmachine)"
81 make -j${jobs} DESTDIR="$destdir" install-strip
83 # Make symlink for "GNU make"
84 ( cd "${destdir}/usr/bin" && ln -sf make gmake )
86 # Compress info documents deleting index file for the package
87 if test -d "${destdir}/$infodir"
89 rm -f "${destdir}/${infodir}/dir"
90 lzip -9 "${destdir}/${infodir}"/*
93 # Compress and link man pages (if needed)
94 if test -d "${destdir}/$mandir"
97 cd "${destdir}/$mandir"
98 find . -type f -exec lzip -9 '{}' +
99 find . -type l | while read -r file
101 ln -sf "$(readlink -- "$file").lz" "${file}.lz"
108 mkdir -p "${destdir}${docsdir}"
112 cp -p $file "${destdir}${docsdir}"