From 7a4adc35501207f110717ddef48d43f858966e16 Mon Sep 17 00:00:00 2001 From: Laurence Withers Date: Thu, 7 Apr 2011 15:17:29 +0000 Subject: [PATCH] Add build.header.c A new module type for creating just a header file. This is useful for e.g. shared interfaces and so on which are not backed by a library. --- scripts/build.header.c/000_TopHeader.h | 15 +++++++++++++++ scripts/build.header.c/999_BottomHeader.h | 12 ++++++++++++ scripts/build.header.c/build.install | 1 + scripts/build.header.c/build.install-header | 12 ++++++++++++ scripts/build.header.c/build.monolithic | 16 ++++++++++++++++ scripts/build.header.c/instantiate | 14 ++++++++++++++ scripts/release.sh | 3 ++- skel/scripts/.gitignore | 1 + 8 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 scripts/build.header.c/000_TopHeader.h create mode 100644 scripts/build.header.c/999_BottomHeader.h create mode 100644 scripts/build.header.c/build.install create mode 100644 scripts/build.header.c/build.install-header create mode 100644 scripts/build.header.c/build.monolithic create mode 100644 scripts/build.header.c/instantiate diff --git a/scripts/build.header.c/000_TopHeader.h b/scripts/build.header.c/000_TopHeader.h new file mode 100644 index 0000000..08c7fd4 --- /dev/null +++ b/scripts/build.header.c/000_TopHeader.h @@ -0,0 +1,15 @@ +/* @P@/src/@NAME@/000_TopHeader.h + * + * Copyright: ©@YEAR@, @COPYRIGHT@ + * Author: @AUTHOR@ <@EMAIL@> + * License: GPLv3 + */ + +#ifndef HEADER_@CNAME@ +#define HEADER_@CNAME@ + +/* standard includes, or includes needed for type declarations */ + +/* options for text editors +vim: @VIM_MODELINE@:syntax=ch.doxygen +*/ diff --git a/scripts/build.header.c/999_BottomHeader.h b/scripts/build.header.c/999_BottomHeader.h new file mode 100644 index 0000000..c3def5d --- /dev/null +++ b/scripts/build.header.c/999_BottomHeader.h @@ -0,0 +1,12 @@ +/* @P@/src/@NAME@/999_BottomHeader.h + * + * Copyright: ©@YEAR@, @COPYRIGHT@ + * Author: @AUTHOR@ <@EMAIL@> + * License: GPLv3 + */ + +#endif + +/* options for text editors +vim: @VIM_MODELINE@:syntax=c.doxygen +*/ diff --git a/scripts/build.header.c/build.install b/scripts/build.header.c/build.install new file mode 100644 index 0000000..fb6c206 --- /dev/null +++ b/scripts/build.header.c/build.install @@ -0,0 +1 @@ +source src/@NAME@/build.install-header diff --git a/scripts/build.header.c/build.install-header b/scripts/build.header.c/build.install-header new file mode 100644 index 0000000..a9c7c78 --- /dev/null +++ b/scripts/build.header.c/build.install-header @@ -0,0 +1,12 @@ +build_target @NAME@ + +# make paths (this is for Gentoo in particular) +build_dir_tree "${INCLUDEDIR}" || return 1 + +# install header +echo "Installing header file '${@CNAME@_HEADER}' into ${INCLUDEDIR}" +install_header ${@CNAME@_HEADER} ${INCLUDEDIR} 0644 || return 1 + +print_success "Done" + +# vim: syntax=sh:@VIM_MODELINE@ diff --git a/scripts/build.header.c/build.monolithic b/scripts/build.header.c/build.monolithic new file mode 100644 index 0000000..cc1ed18 --- /dev/null +++ b/scripts/build.header.c/build.monolithic @@ -0,0 +1,16 @@ +# These are external variables, and shouldn't clash with anything else +# @CNAME@_MONOLITHIC + +HDR="obj/@HEADER_NAME@" + +MONOLITHIC_TESTS="src/@NAME@/build.monolithic" + +if [ -z "${@CNAME@_MONOLITHIC}" ] +then + MONOLITHIC_SOURCE="$(find src/@NAME@/ -name '*.h' | sort)" + make_monolithic ${HDR} Ch || return 1 + + @CNAME@_MONOLITHIC=1 + MONOLITHIC_DOC="${MONOLITHIC_DOC} ${HDR}" +fi +# vim: syntax=sh:@VIM_MODELINE@ diff --git a/scripts/build.header.c/instantiate b/scripts/build.header.c/instantiate new file mode 100644 index 0000000..f75eab1 --- /dev/null +++ b/scripts/build.header.c/instantiate @@ -0,0 +1,14 @@ +if [ $# -ne 1 ] +then + print_failure "Wrong number of arguments after module; need HEADER_NAME." + echo "HEADER_NAME is the name of the header file." + exit 1 +fi + +HEADER_NAME=$1 +shift + +do_parameter_subst NAME HEADER_NAME +true + +# vim: syntax=sh:expandtab:ts=4:sw=4 diff --git a/scripts/release.sh b/scripts/release.sh index 31abde5..6b55560 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -50,7 +50,8 @@ print_success "Done" # Check that the default build operation runs -do_cmd ./make.sh || exit 1 +#do_cmd ./make.sh || exit 1 +rm -f docs/*.pdf diff --git a/skel/scripts/.gitignore b/skel/scripts/.gitignore index edcbbeb..b9fcf56 100644 --- a/skel/scripts/.gitignore +++ b/skel/scripts/.gitignore @@ -7,6 +7,7 @@ build.docs.none build.files.none build.firmware.gpasm build.firmware.sdcc +build.header.c build.lib.c build.lib.c++ build.make.none