#!/bin/sh # # ax-make: Alex' Simple Makefile System # Copyright (c)2014 Alexander Barton (alex@barton.de) # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # NAME=`basename "$0"` Usage() { echo "Usage: $NAME [-2|-3|-l ] []" echo echo ' -2 Use the GNU GPLv2 for the COPYING file.' echo ' -3 Use the GNU GPLv3 for the COPYING file.' echo ' -l Specify license to use for the COPYING file:' echo ' can be "gpl2", "gpl3", "lgpl21", "lgpl3".' echo ' By default an empty COPYING file is created.' echo echo " Library directory. Default: current working directory." echo exit 2 } Download() { URL="$1" FILE="$2" echo "Downloading $URL to $FILE ..." curl --version >/dev/null 2>&1 if [ $? -eq 0 ]; then curl -#o "$FILE" "$URL" && return 0 echo "Failed to download $URL! [curl]" return 1 fi wget --version >/dev/null 2>&1 if [ $? -eq 0 ]; then wget -qO "$FILE" --show-progress "$URL" && return 0 echo "Failed to download $URL! [wget]" return 1 fi echo "Can't download $URL, no download tool found!" return 1 } LIB_D="." LICENSE="" while true; do case "$1" in "-2") LICENSE="gpl2" ;; "-3") LICENSE="gpl3" ;; "-l") LICENSE="$2" shift ;; "-"*) Usage ;; *) break ;; esac shift done [ $# -gt 1 ] && Usage [ -n "$1" ] && LIB_D="$1" if [ -r "/usr/local/share/ax-make/Makefile.ax" ]; then MAKEFILE_AX="/usr/local/share/ax-make/Makefile.ax" elif [ -r "/usr/share/ax-make/Makefile.ax" ]; then MAKEFILE_AX="/usr/share/ax-make/Makefile.ax" else echo "$NAME: No source \"Makefile.ax\" found!" echo "$NAME: Please check your installation of \"ax-make\" and try again." exit 1 fi # -- Makefile.ax -- if [ ! -d "$LIB_D" ]; then mkdir -pv "$LIB_D" || exit 1 fi target="$LIB_D/`basename "$MAKEFILE_AX"`" if [ ! -e "$target" -o "$MAKEFILE_AX" -nt "$target" ]; then echo "Updating \"$target\" ..." cp -v "$MAKEFILE_AX" "$target" || exit 1 else echo "Makefile \"$target\" is up to date." fi # -- Project Makefile's --- if [ ! -e "Makefile" ]; then echo "Creating \"Makefile\" ..." [ "$LIB_D" != "." ] && subdirs="$LIB_D" || subdirs="" cat >"Makefile" <"$LIB_D/Makefile" </dev/null 2>&1; then echo "Creating \"AUTHORS\" file ..." echo "`git config user.name` <`git config user.email`>" >>AUTHORS fi fi if [ ! -e COPYING ]; then LICENSE_URL="" case "$LICENSE" in "") ;; "gpl2") LICENSE_URL="http://www.gnu.org/licenses/gpl-2.0.txt" ;; "gpl3") LICENSE_URL="http://www.gnu.org/licenses/gpl-3.0.txt" ;; "lgpl21") LICENSE_URL="https://www.gnu.org/licenses/lgpl-2.1.txt" ;; "lgpl3") LICENSE_URL="https://www.gnu.org/licenses/lgpl-3.0.txt" ;; *) echo "Can't setup unknown \"$LICENSE\" license!" ;; esac [ -n "$LICENSE_URL" ] && Download "$LICENSE_URL" COPYING else [ -n "$LICENSE" ] && echo "COPYING file already exists, skipping." fi for f in AUTHORS COPYING README; do if [ ! -e "$f" ]; then echo "Creating empty \"$f\" file ..." touch "$f" fi done exit 0