From 1175179058fa809c57d724cd2043c67edc511695 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Thu, 19 Aug 2021 22:58:57 +0300 Subject: New build system (WIP) --- scripts/mkobjs | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100755 scripts/mkobjs (limited to 'scripts/mkobjs') diff --git a/scripts/mkobjs b/scripts/mkobjs new file mode 100755 index 0000000..188465b --- /dev/null +++ b/scripts/mkobjs @@ -0,0 +1,57 @@ +#!/bin/sh + +genobj () { + path=$(dirname "$1")/ + obj=$(echo "$1" | sed "s/\\.[cS]/.${command_suffix}.o/") + $cc_command -MM -MP $n | \ + sed "s|\\(.*\)\\.o|${path}\\1.${command_suffix}.o|" >> deps.mk + + echo "$obj: $n" >> deps.mk + echo " $cc_command -c $1 -o $obj" >> deps.mk + + cc_objs="$cc_objs $obj" +} + +genlink () { + link=$(echo "$1" | sed 's/\.S/.ld/') + echo "$link: $1" >> deps.mk + echo " $cc_command $1 | sed -n '/^[^#]/p' > $link" >> deps.mk + + cc_objs="$cc_objs $link" +} + +for n in "$@" +do + case "$n" in + --kern-files) + command_suffix=k + command_func=genobj + continue + ;; + + --kern-lds) + command_func=genlink + continue + ;; + + --init-files) + command_suffix=i + command_func=genobj + continue + ;; + + --init-lds) + command_func=genlink + continue + ;; + esac + + if [ "$command_func" = "" ] + then + cc_command="$cc_command $n" + else + $command_func "$n" + fi +done + +echo "$cc_objs" -- cgit v1.3