commit d48eb4fcb93bf2cca56e0923154dc0127f2d981d parent a44b5e951b4a75677a0b2ade58861380106d4b88 Author: Henry Wilson <henry@henryandlizzy.uk> Date: Tue, 23 Dec 2025 19:08:48 +0000 Use as and ld, no CC! Diffstat:
| M | Tupfile | | | 9 | +++------ |
| M | gen.sh | | | 4 | ++-- |
2 files changed, 5 insertions(+), 8 deletions(-)
diff --git a/Tupfile b/Tupfile @@ -1,10 +1,7 @@ -CFLAGS = -g -Os -fno-asynchronous-unwind-tables -fno-pic -fno-pie -no-pie -g -fno-stack-protector -fdiagnostics-color=always -LDFLAGS = -static -nostartfiles -nolibc -nodefaultlibs -nostdlib -fno-pic -fno-pie -no-pie -Xlinker --gc-sections +CXXFLAGS = -g -Os -fno-asynchronous-unwind-tables -fno-pic -fno-pie -no-pie -fno-stack-protector -fdiagnostics-color=always +LDFLAGS = --gc-sections -!cc = |> cc $(CFLAGS) -c -o %o %f |> obj/%B.o -!c++ = |> c++ $(CFLAGS) -c -o %o %f |> obj/%B.o - -: foreach *.cpp |> !c++ |> {objs} +: foreach *.cpp |> c++ $(CXXFLAGS) -c -o %o %f |> obj/%B.o {objs} run ./gen.sh .gitignore diff --git a/gen.sh b/gen.sh @@ -2,5 +2,5 @@ ARCH=`uname -m` -echo ": $ARCH.s |> !cc |>" -echo ": foreach {objs} | $ARCH.ld obj/$ARCH.o |> cc "'$(LDFLAGS)'" -o %o -T $ARCH.ld obj/$ARCH.o %f |> %B" +echo ": $ARCH.s |> as -o %o <%f |> obj/%B.o" +echo ": foreach {objs} | $ARCH.ld obj/$ARCH.o |> ld "'$(LDFLAGS)'" -o %o -T $ARCH.ld obj/$ARCH.o %f |> %B"