From ff0c6b0b2dfa2620518cd42e5187430bb50df6f1 Mon Sep 17 00:00:00 2001 From: Jakob Kaivo Date: Wed, 6 Mar 2019 21:54:50 -0500 Subject: add architecture specific stuff into base library --- mk.sh | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'mk.sh') diff --git a/mk.sh b/mk.sh index 642d39ca..5789ee6c 100644 --- a/mk.sh +++ b/mk.sh @@ -167,9 +167,9 @@ make_headers_mk() { for header in $(cat "${DEPS}/all.h"); do printf 'Building dependencies for <%s>\n' "$header" printf '$(INCDIR)/%s: mkh.sh ' "$header" >> "${TOPDIR}/.headers.mk" - mkdir -p $(dirname "${TOPDIR}/.deps/${header}.deps") - grep -l "#include <${header}>" $(cat "${DEPS}/all.c" "${DEPS}/all.ref") > "${TOPDIR}/.deps/${header}.deps" - sed -e "s#${SRCDIR}#\$(SRCDIR)#" < "${TOPDIR}/.deps/${header}.deps" | tr '\n' ' ' >> "${TOPDIR}/.headers.mk" + mkdir -p $(dirname "${TOPDIR}/.deps/h/${header}.deps") + grep -l "#include <${header}>" $(cat "${DEPS}/all.c" "${DEPS}/all.ref") > "${TOPDIR}/.deps/h/${header}.deps" + sed -e "s#${SRCDIR}#\$(SRCDIR)#" < "${TOPDIR}/.deps/h/${header}.deps" | tr '\n' ' ' >> "${TOPDIR}/.headers.mk" printf '\n\tINCDIR=$(INCDIR) sh mkh.sh $(INCDIR)/%s\n\n' "${header}" >> "${TOPDIR}/.headers.mk" done @@ -194,6 +194,14 @@ make_deps_mk() { printf 'BASE_CFLAGS=-I$(INCDIR) -fno-builtin -nostdinc\n' >> "${TOPDIR}/.deps.mk" printf '\n' >> "${TOPDIR}/.deps.mk" + printf 'libc.a($(ARCHITECTURE)-$(WORDSIZE).o): $(OBJDIR)/$(ARCHITECTURE)-$(WORDSIZE).o\n' >> "${TOPDIR}/.deps.mk" + printf '$(OBJDIR)/$(ARCHITECTURE)-$(WORDSIZE).o: $(SRCDIR)/nonstd/$(ARCHITECTURE)-$(WORDSIZE).s\n' >> "${TOPDIR}/.deps.mk" + printf '\t$(CC) $(BASE_CFLAGS) $(CFLAGS) -c $(SRCDIR)/nonstd/$(ARCHITECTURE)-$(WORDSIZE).s -o $@\n\n' >> "${TOPDIR}/.deps.mk" + + # Make sure the architecture dependent stuff gets in + printf '.POSIX:\nlibc_C_0_OBJS= \\\n' > "${DEPS}/libc.C_0" + printf '\tlibc.a($(OBJDIR)/$(ARCHITECTURE)-$(WORDSIZE).o)' >> "${DEPS}/libc.C_0" + for file in $(cat "${DEPS}/all.c"); do printf 'Building dependencies from %s\n' "$file" type=$(classify_source "${file}") -- cgit v1.2.1