fordon_greeman / pkger

Branch: c2d1d35
Switch branches/tags
main
theidioticdev feat: support more than just git, guix pkg test, port bs from c to shell c2d1d35 18d ago
51 lines · 925 B Raw Blame History
1 #!/bin/sh
2
3 #: [ bs.sh ] BUILD SYSTEM in POSIX SHELL
4 #: usage:
5 #: ./bs.sh [build|install|clean|uninstall]
6 #: ./bs.sh -h
7 #:
8
9 SRC=$(cd "$(dirname "$0")" && pwd)
10 TARGET="$HOME/.local/bin"
11 BUILD_CMD="cc -o pkger pkger.c"
12 INSTALL_CMD="cp pkger $TARGET/pkger"
13 UNINSTALL_CMD="rm $TARGET/pkger"
14
15 build() {
16 printf "[BUILD] $BUILD_CMD\n"
17 $BUILD_CMD
18 printf "[BUILD] done\n"
19 }
20 ins() {
21 if [ -f "$SRC/pkger" ]; then
22 printf "[INSTALL] $INSTALL_CMD\n"
23 $INSTALL_CMD
24 printf "[INSTALL] done\n"
25 else
26 build
27 printf "[INSTALL] $INSTALL_CMD\n"
28 $INSTALL_CMD
29 printf "[INSTALL] done\n"
30 fi
31 }
32
33 clean() {
34 printf "[CLEAN] rm pkger\n"
35 rm pkger
36 printf "[CLEAN] done\n"
37 }
38
39 unins() {
40 printf "[UNINST] $UNINSTALL_CMD\n"
41 $UNINSTALL_CMD
42 printf "[UNINST] done\n"
43 }
44 case "$1" in
45 install) ins ;;
46 uninstall) unins ;;
47 build) build ;;
48 -h) sed -n 's/^#: //p' "$0" ;;
49 clean) clean ;;
50 *) printf "Invalid opt\n"; exit 1 ;;
51 esac