scc

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

commit 441d6ffec111cd18ab7baac66b53c99995a2f798
parent 3286dd2e262682b7ad6620643065935916238acd
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:   Tue, 26 Oct 2021 18:19:11 +0200

libmach: Simplify the Makefile

We can get rid of the object list generation using a hand
written list of objects.

Diffstat:
Dsrc/libmach/.gitignore | 1-
Msrc/libmach/Makefile | 54+++++++++++++++++++++++++++++++++++++-----------------
Dsrc/libmach/Makefile.mach | 12------------
Dsrc/libmach/mklst | 9---------
4 files changed, 37 insertions(+), 39 deletions(-)

diff --git a/src/libmach/.gitignore b/src/libmach/.gitignore @@ -1 +0,0 @@ -objlst.mk diff --git a/src/libmach/Makefile b/src/libmach/Makefile @@ -9,36 +9,56 @@ include $(PROJECTDIR)/scripts/rules.mk TARGET = $(LIBDIR)/scc/libmach.a +all: $(TARGET) + OBJS =\ + archive.o\ + armember.o\ + delobj.o\ + findsec.o\ + getindex.o\ + getsec.o\ + getsym.o\ + loadmap.o\ mach.o\ + newmap.o\ newobj.o \ - delobj.o\ + newobj.o\ objpos.o\ - archive.o\ - armember.o\ objtype.o\ + pack.o\ + pc2line.o\ readobj.o\ - writeobj.o\ - getsym.o\ - getsec.o\ rebase.o\ - loadmap.o\ - newmap.o\ + setindex.o\ setmap.o\ - findsec.o\ strip.o\ - pc2line.o\ - pack.o\ unpack.o\ - setindex.o\ - getindex.o\ + writeobj.o\ + coff32/coff32.o\ + coff32/coff32del.o\ + coff32/coff32getidx.o\ + coff32/coff32getsec.o\ + coff32/coff32getsym.o\ + coff32/coff32loadmap.o\ + coff32/coff32new.o\ + coff32/coff32pc2line.o\ + coff32/coff32probe.o\ + coff32/coff32read.o\ + coff32/coff32setidx.o\ + coff32/coff32strip.o\ + coff32/coff32write.o\ + coff32/coff32xgetidx.o\ + coff32/coff32xsetidx.o\ + elf64/elf64.o\ +all: $(TARGET) -all: $(OBJS) $(DIRS) objlst.mk - +@$(MAKE) -f Makefile.mach +$(OBJS): $(DIRS) -objlst.mk: $(OBJS) $(DIRS) - ./mklst $@ +$(TARGET): $(OBJS) + $(AR) $(PROJ_ARFLAGS) $@ $? + $(RL) $(PROJ_RLFLAGS) $@ clean: rm -f $(TBLS) objlst.mk diff --git a/src/libmach/Makefile.mach b/src/libmach/Makefile.mach @@ -1,12 +0,0 @@ -.POSIX: -PROJECTDIR =../.. -include $(PROJECTDIR)/scripts/rules.mk -include objlst.mk - -TARGET = $(LIBDIR)/scc/libmach.a - -all: $(TARGET) - -$(TARGET): $(OBJS) - $(AR) $(PROJ_ARFLAGS) $@ $? - $(RL) $(PROJ_RLFLAGS) $@ diff --git a/src/libmach/mklst b/src/libmach/mklst @@ -1,9 +0,0 @@ -#!/bin/sh - -set -e - -rm -f $1 -trap 'r=$?;rm -f $$.tmp;exit $r' HUP EXIT QUIT TERM - -(echo OBJS=\\ - find . -name '*.o' | sed 's/$/\\/') > $$.tmp && mv $$.tmp $1