scc

simple c99 compiler
git clone git://git.simple-cc.org/scc
Log | Files | Refs | Submodules | README | LICENSE

commit 76365130ccb3a770afab59bb45361a2cf21752f2
parent a4fac35c95345ecbf5bd14d19a5e878e14b2b474
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:   Thu, 26 May 2022 17:56:38 +0200

libc: Isolate compilation from different systems

At this moment we were using the same object
for different systems and this can lead to errors
due to small differences in the included headers.

Diffstat:
Mscripts/build/conf/amd64-dragonfly.mk | 1+
Mscripts/build/conf/amd64-linux.mk | 1+
Mscripts/build/conf/amd64-netbsd.mk | 1+
Mscripts/build/conf/amd64-openbsd.mk | 1+
Mscripts/build/conf/amd64-posix.mk | 1-
Mscripts/build/conf/arm32-linux.mk | 1+
Mscripts/build/conf/arm32-posix.mk | 1-
Mscripts/build/conf/arm64-linux.mk | 1+
Mscripts/build/conf/arm64-posix.mk | 1-
Mscripts/build/conf/ppc32-linux.mk | 1+
Mscripts/build/conf/ppc32-posix.mk | 1-
Msrc/libc/rules.mk | 42+++---------------------------------------
12 files changed, 10 insertions(+), 43 deletions(-)

diff --git a/scripts/build/conf/amd64-dragonfly.mk b/scripts/build/conf/amd64-dragonfly.mk @@ -2,3 +2,4 @@ include $(BUILDDIR)/conf/amd64-posix.mk SYS = dragonfly FORMAT = elf +O = 6f diff --git a/scripts/build/conf/amd64-linux.mk b/scripts/build/conf/amd64-linux.mk @@ -2,3 +2,4 @@ include $(BUILDDIR)/conf/amd64-posix.mk SYS = linux FORMAT = elf +O = 6l diff --git a/scripts/build/conf/amd64-netbsd.mk b/scripts/build/conf/amd64-netbsd.mk @@ -2,3 +2,4 @@ include $(BUILDDIR)/conf/amd64-posix.mk SYS = netbsd FORMAT = elf +O = 6n diff --git a/scripts/build/conf/amd64-openbsd.mk b/scripts/build/conf/amd64-openbsd.mk @@ -2,3 +2,4 @@ include $(BUILDDIR)/conf/amd64-posix.mk SYS = openbsd FORMAT = elf +O = 6o diff --git a/scripts/build/conf/amd64-posix.mk b/scripts/build/conf/amd64-posix.mk @@ -1,3 +1,2 @@ ARCH = amd64 ABI = sysv -O = 6 diff --git a/scripts/build/conf/arm32-linux.mk b/scripts/build/conf/arm32-linux.mk @@ -2,3 +2,4 @@ include $(BUILDDIR)/conf/arm32-posix.mk SYS = linux FORMAT = elf +O = 5l diff --git a/scripts/build/conf/arm32-posix.mk b/scripts/build/conf/arm32-posix.mk @@ -1,3 +1,2 @@ ABI = sysv ARCH = arm32 -O = 5 diff --git a/scripts/build/conf/arm64-linux.mk b/scripts/build/conf/arm64-linux.mk @@ -2,3 +2,4 @@ include $(BUILDDIR)/conf/arm64-posix.mk SYS = linux FORMAT = elf +O = 7l diff --git a/scripts/build/conf/arm64-posix.mk b/scripts/build/conf/arm64-posix.mk @@ -1,3 +1,2 @@ ARCH = arm64 ABI = sysv -O = 6 diff --git a/scripts/build/conf/ppc32-linux.mk b/scripts/build/conf/ppc32-linux.mk @@ -2,3 +2,4 @@ include $(BUILDDIR)/conf/ppc32-posix.mk SYS = linux FORMAT = elf +O = ql diff --git a/scripts/build/conf/ppc32-posix.mk b/scripts/build/conf/ppc32-posix.mk @@ -1,3 +1,2 @@ ABI = sysv ARCH = ppc32 -O = q diff --git a/src/libc/rules.mk b/src/libc/rules.mk @@ -14,7 +14,7 @@ CRT = $(LIBCDIR)/crt.o # Rules -.SUFFIXES: .6 .7 .8 .z .q .6d +.SUFFIXES: .$O _sys_errlist.c: $(SYSERRNO) ../../mkerrstr $(SYSERRNO) @@ -27,44 +27,8 @@ clean: clean-libc clean-libc: FORCE rm -f *.6d *.6 *.7 *.8 *.z *.q -# amd64-posix objects -.c.6: +.c.$O: $(CC) $(PROJ_CFLAGS) -o $@ -c $< -.s.6: - $(AS) $(PROJ_ASFLAGS) $< -o $@ - -# amd64-darwin objects -.c.6d: - $(CC) $(PROJ_CFLAGS) -o $@ -c $< - -.s.6d: - $(AS) $(PROJ_ASFLAGS) $< -o $@ - -# arm64-posix objects -.c.7: - $(CC) $(PROJ_CFLAGS) -o $@ -c $< - -.s.7: - $(AS) $(PROJ_ASFLAGS) $< -o $@ - -# 386-posix objects -.c.8: - $(CC) $(PROJ_CFLAGS) -o $@ -c $< - -.s.8: - $(AS) $(PROJ_ASFLAGS) $< -o $@ - -# z80 objects -.c.z: - $(CC) $(PROJ_CFLAGS) -o $@ -c $< - -.s.z: - $(AS) $(PROJ_ASFLAGS) $< -o $@ - -# ppc32 objects -.c.q: - $(CC) $(PROJ_CFLAGS) -o $@ -c $< - -.s.q: +.s.$O: $(AS) $(PROJ_ASFLAGS) $< -o $@