commit b34b9955320a4daa458df2baea22db6341cd7346
parent 6087aab1c0e69fb18a5da8780ca35d75f49c279e
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date: Thu, 27 Oct 2022 19:29:38 +0200
build: Use PROJ_LDLIBS always with the linker
This variable was designed to make easier modifications of the
command line of the linker but was not used in the actual linker
command lines.
Diffstat:
15 files changed, 28 insertions(+), 24 deletions(-)
diff --git a/src/cmd/Makefile b/src/cmd/Makefile
@@ -20,6 +20,10 @@ TARGET =\
$(BINDIR)/scc-addr2line\
$(LIBEXEC)/scc/qbe\
+RANLIBOBJS = ranlib.o $(DRIVER).o
+AROBJS = ar.o $(DRIVER).o
+
+
all: $(TARGET) $(DIRS)
qbe/.git:
@@ -34,27 +38,27 @@ $(LIBEXEC)/scc/qbe: qbe/qbe
cp qbe/qbe $@
$(BINDIR)/scc-nm: nm.o $(LIBMACH) $(LIBSCC)
- $(CC) $(PROJ_LDFLAGS) nm.o -lmach -lscc -o $@
+ $(CC) $(PROJ_LDFLAGS) nm.o -lmach -lscc $(PROJ_LDLIBS) -o $@
$(BINDIR)/scc-strip: strip.o $(LIBMACH) $(LIBSCC)
- $(CC) $(PROJ_LDFLAGS) strip.o -lmach -lscc -o $@
+ $(CC) $(PROJ_LDFLAGS) strip.o -lmach -lscc $(PROJ_LDLIBS) -o $@
$(BINDIR)/scc-size: size.o $(LIBMACH) $(LIBSCC)
- $(CC) $(PROJ_LDFLAGS) size.o -lmach -lscc -o $@
+ $(CC) $(PROJ_LDFLAGS) size.o -lmach -lscc $(PROJ_LDLIBS) -o $@
-$(BINDIR)/scc-ranlib: ranlib.o $(DRIVER).o $(LIBMACH) $(LIBSCC)
- $(CC) $(PROJ_LDFLAGS) ranlib.o $(DRIVER).o -lmach -lscc -o $@
+$(BINDIR)/scc-ranlib: $(RANLIBOBJS) $(LIBMACH) $(LIBSCC)
+ $(CC) $(PROJ_LDFLAGS) $(RANLIBOBJS) -lmach -lscc $(PROJ_LDLIBS) -o $@
$(BINDIR)/scc-objdump: objdump.o $(LIBMACH)
- $(CC) $(PROJ_LDFLAGS) objdump.o -lmach -o $@
+ $(CC) $(PROJ_LDFLAGS) objdump.o -lmach $(PROJ_LDLIBS) -o $@
$(BINDIR)/scc-objcopy: objcopy.o $(LIBMACH)
- $(CC) $(PROJ_LDFLAGS) objcopy.o -lmach -o $@
+ $(CC) $(PROJ_LDFLAGS) objcopy.o -lmach $(PROJ_LDLIBS) -o $@
$(BINDIR)/scc-addr2line: addr2line.o $(LIBMACH) $(LIBSCC)
- $(CC) $(PROJ_LDFLAGS) addr2line.o -lmach -lscc -o $@
+ $(CC) $(PROJ_LDFLAGS) addr2line.o -lmach -lscc $(PROJ_LDLIBS) -o $@
-$(BINDIR)/scc-ar: ar.o $(DRIVER).o
- $(CC) $(PROJ_LDFLAGS) ar.o $(DRIVER).o -o $@
+$(BINDIR)/scc-ar: $(AROBJS)
+ $(CC) $(PROJ_LDFLAGS) $(AROBJS) $(PROJ_LDLIBS) -o $@
include deps.mk
diff --git a/src/cmd/as/target/powerpc/powerpc.mk b/src/cmd/as/target/powerpc/powerpc.mk
@@ -9,4 +9,4 @@ $(POWERPC)/powerpctbl.c: $(POWERPC)/ops.dat $(POWERPC)/opers.dat
./mktbl -f powerpc -c powerpc
$(LIBEXEC)/scc/as-powerpc: $(POWERPC_OBJ)
- $(CC) $(PROJ_LDFLAGS) $(POWERPC_OBJ) -lscc -o $@
+ $(CC) $(PROJ_LDFLAGS) $(POWERPC_OBJ) -lscc $(PROJ_LDLIBS) -o $@
diff --git a/src/cmd/as/target/powerpc/powerpc64.mk b/src/cmd/as/target/powerpc/powerpc64.mk
@@ -9,4 +9,4 @@ $(POWERPC)/powerpc64tbl.c: $(POWERPC)/ops.dat $(POWERPC)/opers.dat
./mktbl -f powerpc -c powerpc64
$(LIBEXEC)/scc/as-powerpc64: $(POWERPC64_OBJ)
- $(CC) $(PROJ_LDFLAGS) $(POWERPC64_OBJ) -lscc -o $@
+ $(CC) $(PROJ_LDFLAGS) $(POWERPC64_OBJ) -lscc $(PROJ_LDLIBS) -o $@
diff --git a/src/cmd/as/target/x80/z80.mk b/src/cmd/as/target/x80/z80.mk
@@ -8,4 +8,4 @@ target/x80/z80tbl.c: target/x80/ops.dat target/x80/opers.dat
./mktbl -f x80 -c z80
$(LIBEXEC)/scc/as-z80: $(OBJ) $(Z80_OBJ)
- $(CC) $(PROJ_LDFLAGS) $(Z80_OBJ) -lscc -o $@
+ $(CC) $(PROJ_LDFLAGS) $(Z80_OBJ) -lscc $(PROJ_LDLIBS) -o $@
diff --git a/src/cmd/as/target/x86/amd64.mk b/src/cmd/as/target/x86/amd64.mk
@@ -8,4 +8,4 @@ target/x86/amd64tbl.c: target/x86/ops.dat target/x86/opers.dat
./mktbl -f x86 -c amd64
$(LIBEXEC)/scc/as-amd64: $(AMD64_OBJ)
- $(CC) $(PROJ_LDFLAGS) $(AMD64_OBJ) -lscc -o $@
+ $(CC) $(PROJ_LDFLAGS) $(AMD64_OBJ) -lscc $(PROJ_LDLIBS) -o $@
diff --git a/src/cmd/as/target/x86/i286.mk b/src/cmd/as/target/x86/i286.mk
@@ -8,4 +8,4 @@ target/x86/i286tbl.c: target/x86/ops.dat target/x86/opers.dat
./mktbl -f x86 -c i286
$(LIBEXEC)/scc/as-i286: $(I286_OBJ)
- $(CC) $(PROJ_LDFLAGS) $(I286_OBJ) -lscc -o $@
+ $(CC) $(PROJ_LDFLAGS) $(I286_OBJ) -lscc $(PROJ_LDLIBS)-o $@
diff --git a/src/cmd/as/target/x86/i386.mk b/src/cmd/as/target/x86/i386.mk
@@ -8,4 +8,4 @@ target/x86/i386tbl.c: target/x86/ops.dat target/x86/opers.dat
./mktbl -f x86 -c i386
$(LIBEXEC)/scc/as-i386: $(I386_OBJ)
- $(CC) $(PROJ_LDFLAGS) $(I386_OBJ) -lscc -o $@
+ $(CC) $(PROJ_LDFLAGS) $(I386_OBJ) -lscc $(PROJ_LDLIBS) -o $@
diff --git a/src/cmd/cc/cc1/Makefile b/src/cmd/cc/cc1/Makefile
@@ -28,6 +28,6 @@ TARGET = $(LIBEXEC)/scc/cc1
all: $(TARGET)
$(TARGET): $(LIBSCC) $(OBJS)
- $(CC) $(PROJ_LDFLAGS) $(OBJS) -lscc -o $@
+ $(CC) $(PROJ_LDFLAGS) $(OBJS) -lscc $(PROJ_LDLIBS) -o $@
include deps.mk
diff --git a/src/cmd/cc/cc2/target/amd64-sysv/target.mk b/src/cmd/cc/cc2/target/amd64-sysv/target.mk
@@ -5,4 +5,4 @@ OBJ-amd64-sysv = $(OBJS) \
target/amd64-sysv/types.o
$(LIBEXEC)/scc/cc2-amd64-sysv: $(LIBSCC) $(OBJ-amd64-sysv)
- $(CC) $(PROJ_LDFLAGS) $(OBJ-amd64-sysv) -lscc -o $@
+ $(CC) $(PROJ_LDFLAGS) $(OBJ-amd64-sysv) -lscc $(PROJ_LDLIBS) -o $@
diff --git a/src/cmd/cc/cc2/target/i386-sysv/target.mk b/src/cmd/cc/cc2/target/i386-sysv/target.mk
@@ -5,4 +5,4 @@ OBJ-i386-sysv = $(OBJS) \
target/i386-sysv/types.o
$(LIBEXEC)/scc/cc2-i386-sysv: $(LIBSCC) $(OBJ-i386-sysv)
- $(CC) $(PROJ_LDFLAGS) $(OBJ-i386-sysv) -lscc -o $@
+ $(CC) $(PROJ_LDFLAGS) $(OBJ-i386-sysv) -lscc $(PROJ_LDLIBS) -o $@
diff --git a/src/cmd/cc/cc2/target/qbe_amd64-sysv/target.mk b/src/cmd/cc/cc2/target/qbe_amd64-sysv/target.mk
@@ -5,4 +5,4 @@ OBJ-qbe_amd64-sysv = $(OBJS) \
target/amd64-sysv/types.o
$(LIBEXEC)/scc/cc2-qbe_amd64-sysv: $(LIBSCC) $(OBJ-qbe_amd64-sysv)
- $(CC) $(PROJ_LDFLAGS) $(OBJ-qbe_amd64-sysv) -lscc -o $@
+ $(CC) $(PROJ_LDFLAGS) $(OBJ-qbe_amd64-sysv) -lscc $(PROJ_LDLIBS) -o $@
diff --git a/src/cmd/cc/cc2/target/qbe_arm64-sysv/target.mk b/src/cmd/cc/cc2/target/qbe_arm64-sysv/target.mk
@@ -5,4 +5,4 @@ OBJ-qbe_arm64-sysv = $(OBJS) \
target/arm64-sysv/types.o \
$(LIBEXEC)/scc/cc2-qbe_arm64-sysv: $(LIBSCC) $(OBJ-qbe_arm64-sysv)
- $(CC) $(PROJ_LDFLAGS) $(OBJ-qbe_arm64-sysv) -lscc -o $@
+ $(CC) $(PROJ_LDFLAGS) $(OBJ-qbe_arm64-sysv) -lscc $(PROJ_LDLIBS) -o $@
diff --git a/src/cmd/cc/cc2/target/z80-scc/target.mk b/src/cmd/cc/cc2/target/z80-scc/target.mk
@@ -5,4 +5,4 @@ OBJ-z80-scc = $(OBJS) \
target/z80-scc/types.o \
$(LIBEXEC)/scc/cc2-z80-scc: $(LIBSCC) $(OBJ-z80-scc)
- $(CC) $(PROJ_LDFLAGS) $(OBJ-z80-scc) -lscc -o $@
+ $(CC) $(PROJ_LDFLAGS) $(OBJ-z80-scc) -lscc $(PROJ_LDLIBS) -o $@
diff --git a/src/cmd/cc/posix/Makefile b/src/cmd/cc/posix/Makefile
@@ -12,7 +12,7 @@ TARGETS =\
all: $(TARGETS)
$(BINDIR)/scc-cc: $(LIBSCC) cc.o
- $(CC) $(PROJ_LDFLAGS) cc.o -lscc -o $@
+ $(CC) $(PROJ_LDFLAGS) cc.o -lscc $(PROJ_LDLIBS) -o $@
$(BINDIR)/scc-cpp: scc.sh
cp scc.sh $@
diff --git a/src/cmd/ld/Makefile b/src/cmd/ld/Makefile
@@ -17,6 +17,6 @@ OBJS =\
all: $(TARGET)
$(TARGET): $(OBJS) $(LIBMACH) $(LIBSCC)
- $(CC) $(PROJ_LDFLAGS) $(OBJS) -lmach -lscc -o $@
+ $(CC) $(PROJ_LDFLAGS) $(OBJS) -lmach -lscc $(PROJ_LDLIBS) -o $@
include deps.mk