moved to gitea
This commit is contained in:
62
source_code/shmake_link_library.sh
Normal file
62
source_code/shmake_link_library.sh
Normal file
@@ -0,0 +1,62 @@
|
||||
#!/bin/sh
|
||||
|
||||
# shmake_link.sh - Linked library configuration for shmake
|
||||
# Author: Emilia Marigold
|
||||
|
||||
add_linked_library()
|
||||
{
|
||||
check_project_root
|
||||
|
||||
if [ $# -lt 1 ]; then
|
||||
printf "Usage: %s link [library_names]\n" "$SCRIPT_NAME"
|
||||
printf "Example: %s link X11 pthread m\n" "$SCRIPT_NAME"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LIB_NAMES="$*"
|
||||
|
||||
LIB_FLAGS=""
|
||||
for lib in $LIB_NAMES; do
|
||||
if [ -z "$LIB_FLAGS" ]; then
|
||||
LIB_FLAGS="-l$lib"
|
||||
else
|
||||
LIB_FLAGS="$LIB_FLAGS -l$lib"
|
||||
fi
|
||||
done
|
||||
|
||||
printf "Adding linked libraries: %s\n" "$LIB_FLAGS"
|
||||
|
||||
mkdir -p "shmake_config"
|
||||
|
||||
if [ -f "shmake_config/linked.conf" ]; then
|
||||
printf "Note: 'linked.conf' already exists.\n"
|
||||
printf "Current linked libraries:\n"
|
||||
cat "shmake_config/linked.conf"
|
||||
printf "\nAppend? [y/N]: "
|
||||
read -r append_choice
|
||||
case "$append_choice" in
|
||||
y|Y)
|
||||
old_libs=$(grep '^LINKED_LIBS' "shmake_config/linked.conf" | sed 's/^LINKED_LIBS = //')
|
||||
new_libs="$old_libs $LIB_FLAGS"
|
||||
sed -i '/^LINKED_LIBS/d' "shmake_config/linked.conf"
|
||||
printf "LINKED_LIBS = %s\n" "$new_libs" >> "shmake_config/linked.conf"
|
||||
printf "Linked libraries appended successfully!\n"
|
||||
;;
|
||||
*)
|
||||
sed -i '/^LINKED_LIBS/d' "shmake_config/linked.conf"
|
||||
printf "LINKED_LIBS = %s\n" "$LIB_FLAGS" >> "shmake_config/linked.conf"
|
||||
printf "Linked libraries overwritten successfully!\n"
|
||||
;;
|
||||
esac
|
||||
else
|
||||
cat > "shmake_config/linked.conf" << EOF
|
||||
# --- shmake Linked Libraries Configuration ---
|
||||
# Format: library names (automatically converted to -l flags)
|
||||
# Example: LINKED_LIBS = -lX11 -lpthread -lm
|
||||
LINKED_LIBS = $LIB_FLAGS
|
||||
EOF
|
||||
printf "Linked libraries configured successfully!\n"
|
||||
fi
|
||||
|
||||
printf "\nRun 'shmake sync' to update Makefile with these libraries.\n"
|
||||
}
|
||||
Reference in New Issue
Block a user