diff --git a/scripts/build.app.c++-qt/build.install-app b/scripts/build.app.c++-qt/build.install-app index 8d77b7f..00d58b2 100644 --- a/scripts/build.app.c++-qt/build.install-app +++ b/scripts/build.app.c++-qt/build.install-app @@ -1,11 +1,11 @@ build_target @NAME@ # make paths (this is for Gentoo in particular) -build_dir_tree "${BINDIR}" || return 1 +build_dir_tree "${@DEST_BINDIR@}" || return 1 # install binary -echo "Installing binaries into '${BINDIR}'" -install_file "${@CNAME@}" "${BINDIR}" 0755 || return 1 +echo "Installing binaries into '${@DEST_BINDIR@}'" +install_file "${@CNAME@}" "${@DEST_BINDIR@}" 0755 || return 1 print_success "Done" # kate: @KATE_MODELINE@ diff --git a/scripts/build.app.c++-qt/instantiate b/scripts/build.app.c++-qt/instantiate index 646a88d..b16cc22 100644 --- a/scripts/build.app.c++-qt/instantiate +++ b/scripts/build.app.c++-qt/instantiate @@ -1,14 +1,17 @@ -if [ $# -ne 0 ] -then - print_failure "Too many arguments. None required for this module." +case "$1" in +bin) DEST_BINDIR="BINDIR" ;; +sbin) DEST_BINDIR="SBINDIR" ;; +cgi) DEST_BINDIR="CGIDIR" ;; +**) + echo "One argument required: binary location (bin, sbin or cgi)." exit 1 + ;; fi -do_parameter_subst +do_parameter_subst DEST_BINDIR add_config_option "CXX" "${COPT_CXX_DEFAULT}" add_config_option "CFLAGS" "${COPT_CFLAGS_DEFAULT}" add_config_option "QTSTUFF" "${COPT_QTSTUFF_DEFAULT}" -add_config_option "BINDIR" "${COPT_BINDIR_DEFAULT}" true # kate: replace-trailing-space-save true; space-indent true; tab-width 4; diff --git a/scripts/build.app.c++/build.install-app b/scripts/build.app.c++/build.install-app index 8d77b7f..00d58b2 100644 --- a/scripts/build.app.c++/build.install-app +++ b/scripts/build.app.c++/build.install-app @@ -1,11 +1,11 @@ build_target @NAME@ # make paths (this is for Gentoo in particular) -build_dir_tree "${BINDIR}" || return 1 +build_dir_tree "${@DEST_BINDIR@}" || return 1 # install binary -echo "Installing binaries into '${BINDIR}'" -install_file "${@CNAME@}" "${BINDIR}" 0755 || return 1 +echo "Installing binaries into '${@DEST_BINDIR@}'" +install_file "${@CNAME@}" "${@DEST_BINDIR@}" 0755 || return 1 print_success "Done" # kate: @KATE_MODELINE@ diff --git a/scripts/build.app.c++/instantiate b/scripts/build.app.c++/instantiate index b4b8819..6f0498f 100644 --- a/scripts/build.app.c++/instantiate +++ b/scripts/build.app.c++/instantiate @@ -1,13 +1,16 @@ -if [ $# -ne 0 ] -then - print_failure "Too many arguments. None required for this module." +case "$1" in +bin) DEST_BINDIR="BINDIR" ;; +sbin) DEST_BINDIR="SBINDIR" ;; +cgi) DEST_BINDIR="CGIDIR" ;; +**) + echo "One argument required: binary location (bin, sbin or cgi)." exit 1 + ;; fi -do_parameter_subst +do_parameter_subst DEST_BINDIR add_config_option "CXX" "${COPT_CXX_DEFAULT}" add_config_option "CFLAGS" "${COPT_CFLAGS_DEFAULT}" -add_config_option "BINDIR" "${COPT_BINDIR_DEFAULT}" true # kate: replace-trailing-space-save true; space-indent true; tab-width 4; diff --git a/scripts/build.app.c/build.install-app b/scripts/build.app.c/build.install-app index 8d77b7f..00d58b2 100644 --- a/scripts/build.app.c/build.install-app +++ b/scripts/build.app.c/build.install-app @@ -1,11 +1,11 @@ build_target @NAME@ # make paths (this is for Gentoo in particular) -build_dir_tree "${BINDIR}" || return 1 +build_dir_tree "${@DEST_BINDIR@}" || return 1 # install binary -echo "Installing binaries into '${BINDIR}'" -install_file "${@CNAME@}" "${BINDIR}" 0755 || return 1 +echo "Installing binaries into '${@DEST_BINDIR@}'" +install_file "${@CNAME@}" "${@DEST_BINDIR@}" 0755 || return 1 print_success "Done" # kate: @KATE_MODELINE@ diff --git a/scripts/build.app.c/instantiate b/scripts/build.app.c/instantiate index da8f4af..a1a25dd 100644 --- a/scripts/build.app.c/instantiate +++ b/scripts/build.app.c/instantiate @@ -1,13 +1,16 @@ -if [ $# -ne 0 ] -then - print_failure "Too many arguments. None required for this module." +case "$1" in +bin) DEST_BINDIR="BINDIR" ;; +sbin) DEST_BINDIR="SBINDIR" ;; +cgi) DEST_BINDIR="CGIDIR" ;; +**) + echo "One argument required: binary location (bin, sbin or cgi)." exit 1 + ;; fi -do_parameter_subst +do_parameter_subst DEST_BINDIR add_config_option "CC" "${COPT_CC_DEFAULT}" add_config_option "CFLAGS" "${COPT_CFLAGS_DEFAULT}" -add_config_option "BINDIR" "${COPT_BINDIR_DEFAULT}" true # kate: replace-trailing-space-save true; space-indent true; tab-width 4; diff --git a/scripts/build.app.sh/build.install-app b/scripts/build.app.sh/build.install-app index 645d595..c3b3ec7 100644 --- a/scripts/build.app.sh/build.install-app +++ b/scripts/build.app.sh/build.install-app @@ -1,11 +1,11 @@ # make paths (this is for Gentoo in particular) -build_dir_tree "${BINDIR}" || return 1 +build_dir_tree "${@DEST_BINDIR@}" || return 1 # install binary -echo "Installing binaries into '${BINDIR}'" +echo "Installing binaries into '${@DEST_BINDIR@}'" for script in src/@NAME@/*.sh do - install_file "${script}" "${BINDIR}" 0755 || return 1 + install_file "${script}" "${@DEST_BINDIR@}" 0755 || return 1 done print_success "Done" diff --git a/scripts/build.app.sh/instantiate b/scripts/build.app.sh/instantiate index 62eafc5..2cdfb58 100644 --- a/scripts/build.app.sh/instantiate +++ b/scripts/build.app.sh/instantiate @@ -1,11 +1,14 @@ -if [ $# -ne 0 ] -then - print_failure "Too many arguments. None required for this module." +case "$1" in +bin) DEST_BINDIR="BINDIR" ;; +sbin) DEST_BINDIR="SBINDIR" ;; +cgi) DEST_BINDIR="CGIDIR" ;; +**) + echo "One argument required: binary location (bin, sbin or cgi)." exit 1 + ;; fi -do_parameter_subst -add_config_option "BINDIR" "${COPT_BINDIR_DEFAULT}" +do_parameter_subst DEST_BINDIR true # kate: replace-trailing-space-save true; space-indent true; tab-width 4; diff --git a/scripts/build.docs.doxygen/instantiate b/scripts/build.docs.doxygen/instantiate index 9dcd4d8..0cf761b 100644 --- a/scripts/build.docs.doxygen/instantiate +++ b/scripts/build.docs.doxygen/instantiate @@ -5,7 +5,6 @@ then fi do_parameter_subst -add_config_option "DOCSDIR" "${COPT_DOCSDIR_DEFAULT}" true # kate: replace-trailing-space-save true; space-indent true; tab-width 4; diff --git a/scripts/build.docs.none/instantiate b/scripts/build.docs.none/instantiate index 9dcd4d8..0cf761b 100644 --- a/scripts/build.docs.none/instantiate +++ b/scripts/build.docs.none/instantiate @@ -5,7 +5,6 @@ then fi do_parameter_subst -add_config_option "DOCSDIR" "${COPT_DOCSDIR_DEFAULT}" true # kate: replace-trailing-space-save true; space-indent true; tab-width 4; diff --git a/scripts/build.firmware.gpasm/instantiate b/scripts/build.firmware.gpasm/instantiate index 95e47b8..5fc8433 100644 --- a/scripts/build.firmware.gpasm/instantiate +++ b/scripts/build.firmware.gpasm/instantiate @@ -5,7 +5,7 @@ then fi do_parameter_subst -add_config_option "HEXDIR" "${COPT_HEXDIR_DEFAULT}" +add_config_option "HEXDIR" "\${SHAREDIR}/@TODO@" add_config_option "GPASM" "gpasm" add_config_option "GPASM_FLAGS" "" true diff --git a/scripts/build.firmware.sdcc/instantiate b/scripts/build.firmware.sdcc/instantiate index 37a2891..ef12e8a 100644 --- a/scripts/build.firmware.sdcc/instantiate +++ b/scripts/build.firmware.sdcc/instantiate @@ -5,7 +5,7 @@ then fi do_parameter_subst -add_config_option "HEXDIR" "${COPT_HEXDIR_DEFAULT}" +add_config_option "HEXDIR" "\${SHAREDIR}/@TODO@" add_config_option "SDCC" "sdcc" add_config_option "SDCCFLAGS" "" true diff --git a/scripts/build.lib.c++/build.install-lib b/scripts/build.lib.c++/build.install-lib index 80df111..a011774 100644 --- a/scripts/build.lib.c++/build.install-lib +++ b/scripts/build.lib.c++/build.install-lib @@ -27,8 +27,8 @@ CONFFILE="${INSTALL_PREFIX}${BINDIR}/@NAME@-config" do_cmd rm -f "${CONFFILE}" do_cmd_redir "${CONFFILE}" sed \ -e "s,@VERSION@,${VERSION}," \ - -e "s,@LIB_DIR@,${FINALLIBDIR}," \ - -e "s,@INCLUDE_DIR@,${FINALINCLUDEDIR}," \ + -e "s,@LIB_DIR@,${LIBDIR}," \ + -e "s,@INCLUDE_DIR@,${INCLUDEDIR}," \ -e "s,@DEP_CFLAGS@,${@CNAME@_DEP_CFLAGS}," \ -e "s,@DEP_LIBS@,${@CNAME@_DEP_LIBS}," \ src/@NAME@/config-script diff --git a/scripts/build.lib.c++/instantiate b/scripts/build.lib.c++/instantiate index 840ecf6..3361389 100644 --- a/scripts/build.lib.c++/instantiate +++ b/scripts/build.lib.c++/instantiate @@ -20,11 +20,6 @@ fi do_parameter_subst NAMEMINUSL HEADER_NAME add_config_option "CC" "${COPT_CC_DEFAULT}" add_config_option "CFLAGS" "${COPT_CFLAGS_DEFAULT}" -add_config_option "BINDIR" "${COPT_BINDIR_DEFAULT}" -add_config_option "LIBDIR" "${COPT_LIBDIR_DEFAULT}" -add_config_option "INCLUDEDIR" "${COPT_INCLUDEDIR_DEFAULT}" -add_config_option "FINALLIBDIR" "${COPT_FINALLIBDIR_DEFAULT}" -add_config_option "FINALINCLUDEDIR" "${COPT_FINALINCLUDEDIR_DEFAULT}" true # kate: replace-trailing-space-save true; space-indent true; tab-width 4; diff --git a/scripts/build.lib.c/build.install-lib b/scripts/build.lib.c/build.install-lib index b07ef88..2f0f13b 100644 --- a/scripts/build.lib.c/build.install-lib +++ b/scripts/build.lib.c/build.install-lib @@ -29,8 +29,8 @@ do_cmd_redir "${CONFFILE}" sed \ -e "s,@VERSION@,${VERSION}," \ -e "s,@DEP_CFLAGS@,${@CNAME@_DEP_CFLAGS}," \ -e "s,@DEP_LIBS@,${@CNAME@_DEP_LIBS}," \ - -e "s,@LIB_DIR@,${FINALLIBDIR}," \ - -e "s,@INCLUDE_DIR@,${FINALINCLUDEDIR}," \ + -e "s,@LIB_DIR@,${LIBDIR}," \ + -e "s,@INCLUDE_DIR@,${INCLUDEDIR}," \ src/@NAME@/config-script do_cmd chmod 0755 "${CONFFILE}" diff --git a/scripts/build.lib.c/instantiate b/scripts/build.lib.c/instantiate index e533e63..b91a56b 100644 --- a/scripts/build.lib.c/instantiate +++ b/scripts/build.lib.c/instantiate @@ -20,11 +20,6 @@ fi do_parameter_subst NAMEMINUSL HEADER_NAME add_config_option "CC" "${COPT_CC_DEFAULT}" add_config_option "CFLAGS" "${COPT_CFLAGS_DEFAULT}" -add_config_option "BINDIR" "${COPT_BINDIR_DEFAULT}" -add_config_option "LIBDIR" "${COPT_LIBDIR_DEFAULT}" -add_config_option "INCLUDEDIR" "${COPT_INCLUDEDIR_DEFAULT}" -add_config_option "FINALLIBDIR" "${COPT_FINALLIBDIR_DEFAULT}" -add_config_option "FINALINCLUDEDIR" "${COPT_FINALINCLUDEDIR_DEFAULT}" true # kate: replace-trailing-space-save true; space-indent true; tab-width 4; diff --git a/scripts/build.make.none/instantiate b/scripts/build.make.none/instantiate index 585f555..de033eb 100644 --- a/scripts/build.make.none/instantiate +++ b/scripts/build.make.none/instantiate @@ -7,11 +7,6 @@ fi do_parameter_subst add_config_option "CC" "${COPT_CC_DEFAULT}" add_config_option "CFLAGS" "${COPT_CFLAGS_DEFAULT}" -add_config_option "BINDIR" "${COPT_BINDIR_DEFAULT}" -add_config_option "LIBDIR" "${COPT_LIBDIR_DEFAULT}" -add_config_option "INCLUDEDIR" "${COPT_INCLUDEDIR_DEFAULT}" -add_config_option "FINALLIBDIR" "${COPT_FINALLIBDIR_DEFAULT}" -add_config_option "FINALINCLUDEDIR" "${COPT_FINALINCLUDEDIR_DEFAULT}" true # kate: replace-trailing-space-save true; space-indent true; tab-width 4; diff --git a/scripts/build.module.c/instantiate b/scripts/build.module.c/instantiate index 8061987..2327f9a 100644 --- a/scripts/build.module.c/instantiate +++ b/scripts/build.module.c/instantiate @@ -7,8 +7,7 @@ fi do_parameter_subst add_config_option "CC" "${COPT_CC_DEFAULT}" add_config_option "CFLAGS" "${COPT_CFLAGS_DEFAULT}" -add_config_option "BINDIR" "${COPT_BINDIR_DEFAULT}" -add_config_option "MODULEDIR" "${COPT_LIBDIR_DEFAULT}/@TODO@/" +add_config_option "MODULEDIR" "\${LIBDIR}/@TODO@/" true # kate: replace-trailing-space-save true; space-indent true; tab-width 4; diff --git a/scripts/module-create.sh b/scripts/module-create.sh index dadc6be..3ed9a97 100755 --- a/scripts/module-create.sh +++ b/scripts/module-create.sh @@ -83,17 +83,10 @@ add_config_option() { # add the default line echo "[ -z \"\${$1}\" ] && $1=\"$2\"" >> ../../config } -COPT_BINDIR_DEFAULT='${PREFIX}/bin' -COPT_LIBDIR_DEFAULT='${PREFIX}/lib' -COPT_HEXDIR_DEFAULT='${PREFIX}/hexdir' -COPT_INCLUDEDIR_DEFAULT='${PREFIX}/include' -COPT_FINALLIBDIR_DEFAULT='${LIBDIR}' -COPT_FINALINCLUDEDIR_DEFAULT='${INCLUDEDIR}' COPT_CC_DEFAULT="gcc" COPT_CXX_DEFAULT="g++" COPT_CFLAGS_DEFAULT="-g -O2 -W -Wall" COPT_QTSTUFF_DEFAULT='-I${QTDIR}/include -L${QTDIR}/lib -lqt-mt' -COPT_DOCSDIR_DEFAULT="\${PREFIX}/doc/${P}" if [ ! -e "src" ] diff --git a/skel/config b/skel/config index 1a980ac..612e16e 100644 --- a/skel/config +++ b/skel/config @@ -7,6 +7,28 @@ # http://www.gnu.org/copyleft/gpl.html for details. # # This file contains options used to build @P@. -# + +# PREFIX is the most important option. Many other paths are derived from it, as follows: +# +# PREFIX | / | /usr | /usr/local | /opt/* +# ------------+-------------------+-------------------+-------------------+----------------- +# BINDIR | /bin | /usr/bin | /usr/local/bin | /opt/*/bin +# SBINDIR | /sbin | /usr/sbin | /usr/local/sbin | /opt/*/sbin +# LIBDIR | /lib | /usr/lib | /usr/local/lib | /opt/*/lib +# INCLUDEDIR | /usr/include | /usr/include | /usr/local/include| /opt/*/include +# CONFIGDIR | /etc | /etc | /usr/local/etc | /etc/opt/* +# VARDIR | /var | /var | /var | /var/opt/* +# SHAREDIR | /usr/share | /usr/share | /usr/local/share | /opt/*/share +# DOCSDIR | /usr/share/doc | /usr/share/doc | /usr/local/share/doc, /opt/*/doc +# WEBDIR | /srv/http | /srv/http | /srv/http | /opt/*/http +# +# Specific notes: +# When installing, all paths are prepended with INSTALL_PREFIX. +# Any parameter can be overridden by setting an environment variable. +# CGIDIR is set to ${WEBDIR}/cgi-bin . +# [ -z "${PREFIX}" ] && PREFIX="/usr/local" +source "scripts/paths" + +# Project-specific variables below. diff --git a/skel/scripts/paths b/skel/scripts/paths new file mode 100644 index 0000000..a575456 --- /dev/null +++ b/skel/scripts/paths @@ -0,0 +1,58 @@ +# @P@/scripts/paths +# vim: syntax=sh:sw=4:ts=4:expandtab +# +# Default path setup. Not meant for editing; use environment variables +# to override values if needed. +# + +case "${PREFIX}" in +/) + BINDIR="/bin" + SBINDIR="/sbin" + LIBDIR="/lib" + INCLUDEDIR="/usr/include" + CONFIGDIR="/etc" + VARDIR="/var" + SHAREDIR="/usr/share/@P@" + DOCSDIR="/usr/share/doc/@P@" + WEBDIR="/srv/http" + ;; + +/usr) + BINDIR="/usr/bin" + SBINDIR="/usr/sbin" + LIBDIR="/usr/lib" + INCLUDEDIR="/usr/include" + CONFIGDIR="/etc" + VARDIR="/var" + SHAREDIR="/usr/share/@P@" + DOCSDIR="/usr/share/doc/@P@" + WEBDIR="/srv/http" + ;; + +/usr/local) + BINDIR="/usr/local/bin" + SBINDIR="/usr/local/sbin" + LIBDIR="/usr/local/lib" + INCLUDEDIR="/usr/local/include" + CONFIGDIR="/usr/local/etc" + VARDIR="/var" + SHAREDIR="/usr/local/share/@P@" + DOCSDIR="/usr/local/share/doc/@P@" + WEBDIR="/srv/http" + ;; + +/opt/*) + BINDIR="${PREFIX}/bin" + SBINDIR="${PREFIX}/sbin" + LIBDIR="${PREFIX}/lib" + INCLUDEDIR="${PREFIX}/include" + CONFIGDIR="/etc${PREFIX}" + VARDIR="/var${PREFIX}" + SHAREDIR="/var${PREFIX}" + DOCSDIR="${PREFIX}/doc" + WEBDIR="${PREFIX}/http" + ;; +esac + +CGIDIR="${WEBDIR}/cgi-bin"