diff --git a/rootfs.sh b/rootfs.sh index f713312..259f0c1 100755 --- a/rootfs.sh +++ b/rootfs.sh @@ -121,6 +121,9 @@ get_file https://ftp.gnu.org/pub/gnu/patch/patch-2.5.9.tar.gz # patched tcc cp tcc-patched.kaem tmp/after/ +# make 3.80 +get_file https://ftp.gnu.org/gnu/make/make-3.80.tar.gz + # General cleanup find tmp -name .git -exec rm -rf \; diff --git a/sysa/after.kaem.run b/sysa/after.kaem.run index 80ef39f..fb83a2a 100755 --- a/sysa/after.kaem.run +++ b/sysa/after.kaem.run @@ -82,3 +82,10 @@ cd .. cd tcc-0.9.27 kaem --file ../tcc-patched.kaem cd .. + +# Part 13: make +/after/bin/gunzip make-3.80.tar.gz +/after/bin/tar xf make-3.80.tar +cd make-3.80 +kaem --file ../make-3.80.kaem +cd .. diff --git a/sysa/make-3.80.kaem b/sysa/make-3.80.kaem new file mode 100755 index 0000000..6824843 --- /dev/null +++ b/sysa/make-3.80.kaem @@ -0,0 +1,46 @@ +#!/bin/sh + +set -ex + +# Variables +bindir=/after/bin + +catm config.h +catm /after/include/mes/config.h + +# Patch +patch -Np0 -i ../patches/make-3.80/mes-libc.patch + +# Compile +tcc -c getopt.c +tcc -c getopt1.c +tcc -c -I. -Iglob -DHAVE_INTTYPES_H -DHAVE_SA_RESTART -DHAVE_STDINT_H ar.c +tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART -DHAVE_FCNTL_H arscan.c +tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART -DFILE_TIMESTAMP_HI_RES=0 commands.c +tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART -DSCCS_GET=\"/nullop\" default.c +tcc -c -I. -Iglob -DHAVE_INTTYPES_H -DHAVE_SA_RESTART -DHAVE_DIRENT_H dir.c +tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART expand.c +tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART -DFILE_TIMESTAMP_HI_RES=0 file.c +tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART -Dvfork=fork function.c +tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART implicit.c +tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART -DHAVE_DUP2 -Dvfork=fork job.c +tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART -DLOCALEDIR=\"/fake-locale\" -DPACKAGE=\"fake-make\" -DHAVE_MKTEMP -DHAVE_GETCWD main.c +tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART -DHAVE_STRERROR -DHAVE_VPRINTF misc.c +tcc -c -I. -Iglob -DHAVE_INTTYPES_H -DHAVE_SA_RESTART -DINCLUDEDIR=\"/after/include\" read.c +tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART -DFILE_TIMESTAMP_HI_RES=0 -DHAVE_FCNTL_H -DLIBDIR=\"/after/lib\" remake.c +tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART rule.c +tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART signame.c +tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART variable.c +tcc -c -I. -DVERSION=\"3.80\" version.c +tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART vpath.c +tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART hash.c +tcc -c -I. -DHAVE_INTTYPES_H -DHAVE_SA_RESTART remote-stub.c +tcc -c -DHAVE_FCNTL_H getloadavg.c +tcc -c -Iglob -DSTDC_HEADERS glob/fnmatch.c +tcc -c -Iglob -DHAVE_STRDUP -DHAVE_DIRENT_H glob/glob.c + +# Link +tcc -o ${bindir}/make getopt.o getopt1.o ar.o arscan.o commands.o default.o dir.o expand.o file.o function.o implicit.o job.o main.o misc.o read.o remake.o rule.o signame.o variable.o version.o vpath.o remake.o rule.o signame.o variable.o version.o vpath.o hash.o remote-stub.o getloadavg.o fnmatch.o glob.o + +# Test +make --version diff --git a/sysa/patches/make-3.80/mes-libc.patch b/sysa/patches/make-3.80/mes-libc.patch new file mode 100644 index 0000000..1278892 --- /dev/null +++ b/sysa/patches/make-3.80/mes-libc.patch @@ -0,0 +1,25 @@ +diff --color -ru make-3.80.bak/job.c make-3.80/job.c +--- job.c 2021-01-14 10:26:42.457657979 +1100 ++++ job.c 2021-01-14 10:27:03.332776801 +1100 +@@ -28,8 +28,6 @@ + #include "variable.h" + #include "debug.h" + +-#include +- + /* Default shell to use. */ + #ifdef WINDOWS32 + char *default_shell = "sh.exe"; +diff --color -ru make-3.80.bak/make.h make-3.80/make.h +--- make.h 2021-01-14 10:26:42.456657974 +1100 ++++ make.h 2021-01-14 10:26:51.154707480 +1100 +@@ -467,9 +467,6 @@ + #if !defined (__GNU_LIBRARY__) && !defined (POSIX) && !defined (_POSIX_VERSION) && !defined(WINDOWS32) + + extern long int atol (); +-# ifndef VMS +-extern long int lseek (); +-# endif + + #endif /* Not GNU C library or POSIX. */ +