diff options
author | Ben Hutchings <ben@decadent.org.uk> | 2019-01-19 23:02:32 +0000 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2019-01-19 23:06:42 +0000 |
commit | 9ded753aff9439cddd84b0cc469312b6c11823ab (patch) | |
tree | 92ead855183987842713b7677ca2589a4008508d | |
parent | 47e429ec6c758b98a00e69df541448942c6f3ba3 (diff) | |
download | klibc-9ded753aff9439cddd84b0cc469312b6c11823ab.tar.gz |
[klibc] Build and install kinit and sh without ".shared" suffix
Most binaries are installed with the same name regardless of
whether they use a static or shared library. The two exceptions
to this are kinit and sh, which are installed with the suffix
".shared" if they use a shared library.
Build these binaries in subdirectories, so that the static and shared
versions have the same (unsuffixed) name.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-rw-r--r-- | usr/dash/Kbuild | 19 | ||||
-rw-r--r-- | usr/kinit/Kbuild | 33 |
2 files changed, 29 insertions, 23 deletions
diff --git a/usr/dash/Kbuild b/usr/dash/Kbuild index 8682c0d79f793e..c0f8dcb5d26fb0 100644 --- a/usr/dash/Kbuild +++ b/usr/dash/Kbuild @@ -18,22 +18,22 @@ init-o-files := alias.o arith_yacc.o arith_yylex.o cd.o error.o eval.o exec.o ex gen-o-files := builtins.o init.o nodes.o syntax.o -sh-y := $(init-o-files) $(gen-o-files) +static/sh-y := $(init-o-files) $(gen-o-files) hostprogs-y := mkinit mksyntax mknodes mksignames gen-h-files := builtins.h nodes.h syntax.h token.h -static-y := sh +static-y := static/sh # The shared binary -shared-y := sh.shared -sh.shared-y := $(sh-y) +shared-y := shared/sh +shared/sh-y := $(static/sh-y) # For cleaning -targets := sh sh.g sh.shared sh.shared.g $(gen-o-files) +targets := static/sh static/sh.g shared/sh shared/sh.g $(gen-o-files) # explicit dependency for all generated files -$(addprefix $(obj)/, $(sh-y)): $(addprefix $(obj)/, $(gen-h-files)) +$(addprefix $(obj)/, $(static/sh-y)): $(addprefix $(obj)/, $(gen-h-files)) # Generate token.h targets += token.h @@ -92,9 +92,12 @@ $(obj)/syntax.c: $(obj)/mksyntax $(obj)/syntax.h: $(obj)/syntax.c $(Q): +# Clean deletes the static and shared dir +clean-dirs := static shared + # Targets to install ifdef KLIBCSHAREDFLAGS -install-y := sh.shared +install-y := shared/sh else -install-y := sh +install-y := static/sh endif diff --git a/usr/kinit/Kbuild b/usr/kinit/Kbuild index 84a636a10af022..6cd5ba6333eaba 100644 --- a/usr/kinit/Kbuild +++ b/usr/kinit/Kbuild @@ -5,21 +5,21 @@ # library part of kinit. Is used by programs in sub-directories (resume et al) lib-y := name_to_dev.o devname.o getarg.o capabilities.o # use lib for kinit -kinit-y := lib.a +static/kinit-y := lib.a -kinit-y += kinit.o do_mounts.o ramdisk_load.o initrd.o -kinit-y += getintfile.o readfile.o xpio.o -kinit-y += do_mounts_md.o do_mounts_mtd.o nfsroot.o +static/kinit-y += kinit.o do_mounts.o ramdisk_load.o initrd.o +static/kinit-y += getintfile.o readfile.o xpio.o +static/kinit-y += do_mounts_md.o do_mounts_mtd.o nfsroot.o -kinit-y += ipconfig/ -kinit-y += nfsmount/ -kinit-y += run-init/ -kinit-y += fstype/ -kinit-y += resume/ +static/kinit-y += ipconfig/ +static/kinit-y += nfsmount/ +static/kinit-y += run-init/ +static/kinit-y += fstype/ +static/kinit-y += resume/ -static-y := kinit -shared-y := kinit.shared -kinit.shared-y := $(kinit-y) +static-y := static/kinit +shared-y := shared/kinit +shared/kinit-y := $(static/kinit-y) # Additional include paths files KLIBCCFLAGS += -I$(srctree)/$(src)/fstype \ @@ -29,12 +29,15 @@ KLIBCCFLAGS += -I$(srctree)/$(src)/fstype \ -I$(srctree)/$(src)/run-init # Cleaning -targets += kinit kinit.g kinit.shared kinit.shared.g +targets += static/kinit static/kinit.g shared/kinit shared/kinit.g subdir- := fstype ipconfig nfsmount resume run-init +# Clean deletes the static and shared dir +clean-dirs := static shared # install binary -install-y := kinit ifdef KLIBCSHAREDFLAGS -install-y += kinit.shared +install-y := shared/kinit +else +install-y := static/kinit endif |