commit 803e9de4b1dcffd13e071193bb4438e07dc59857 parent fdad18573b5d1d1216e7f0343c2702b45a0aeb6e Author: Roberto E. Vargas Caballero <k0ga@shike2.net> Date: Sat, 11 Apr 2026 21:03:53 +0200 build: Split libscc in two different libraries This split allows to separate the part of scc that has system dependencies, and it is a step forward to continue using the own scc to build scc. Diffstat:
10 files changed, 25 insertions(+), 9 deletions(-)
diff --git a/src/Makefile b/src/Makefile @@ -3,6 +3,7 @@ LIBS =\ libcrt\ libscc\ + libscc-$(DRIVER)\ libmach\ DIRS =\ diff --git a/src/cmd/Makefile b/src/cmd/Makefile @@ -19,9 +19,9 @@ TARGET =\ scc-objcopy\ scc-addr2line\ -MORE_LDLIBS = -lmach -lscc +MORE_LDLIBS = -lmach -lscc -lscc-$(DRIVER) all: $(TARGET) $(DIRS) @cp $(TARGET) $(BINDIR) -$(TARGET): $(LIBMACH) $(LIBSCC) +$(TARGET): $(LIBMACH) $(LIBSCC) $(LIBSCC-DRIVER) diff --git a/src/cmd/scc-objdump/Makefile b/src/cmd/scc-objdump/Makefile @@ -9,10 +9,10 @@ OBJS =\ elf.o\ TARGET = scc-objdump -MORE_LDLIBS = -lmach -lscc +MORE_LDLIBS = -lmach -lscc -lscc-$(DRIVER) all: $(TARGET) -scc-objdump: $(OBJS) $(LIBMACH) $(LIBSCC) +scc-objdump: $(OBJS) $(LIBMACH) $(LIBSCC) $(LIBSCC-DRIVER) $(CC) $(PROJ_LDFLAGS) $(OBJS) $(PROJ_LDLIBS) -o $@ cp $@ $(BINDIR) diff --git a/src/libscc-posix/Makefile b/src/libscc-posix/Makefile @@ -0,0 +1,20 @@ +.POSIX: + +PROJECTDIR = ../.. +include $(PROJECTDIR)/scripts/rules.mk + +OBJS =\ + fromepoch.o\ + totime.o\ + canonical.o\ + getstat.o\ + setstat.o\ + +TARGET = libscc-posix.a + +all: $(TARGET) + +$(TARGET): $(OBJS) + $(AR) $(PROJ_ARFLAGS) $@ $? + $(RL) $(PROJ_RLFLAGS) $@ + cp $@ $(LIBDIR)/scc diff --git a/src/libscc/canonical-posix.c b/src/libscc-posix/canonical.c diff --git a/src/libscc/fromepoch-posix.c b/src/libscc-posix/fromepoch.c diff --git a/src/libscc/getstat-posix.c b/src/libscc-posix/getstat.c diff --git a/src/libscc/setstat-posix.c b/src/libscc-posix/setstat.c diff --git a/src/libscc/totime-posix.c b/src/libscc-posix/totime.c diff --git a/src/libscc/Makefile b/src/libscc/Makefile @@ -14,11 +14,6 @@ OBJS =\ alloc.o\ casecmp.o\ genhash.o\ - fromepoch-$(DRIVER).o\ - totime-$(DRIVER).o\ - canonical-$(DRIVER).o\ - getstat-$(DRIVER).o\ - setstat-$(DRIVER).o\ TARGET = libscc.a