Create a local copy of the scripts directory.
The idea is to move the build system out of the project tree as much as possible. This has two benefits: - it does not add any baggage to somebody who just wants to compile the project, and doesn't want to create any new modules, - it means that project trees don't have to be updated every time a change is made to the module instantiation stuff.
This commit is contained in:
parent
201586b051
commit
87272247fb
65 changed files with 1561 additions and 0 deletions
44
scripts/build.c.lib/instantiate
Normal file
44
scripts/build.c.lib/instantiate
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
if [ $# -ne 2 ]
|
||||
then
|
||||
print_failure "Not enough arguments after module; need CNAME HEADER_NAME."
|
||||
echo "CNAME is the C identifier version of the module name."
|
||||
echo "HEADER_NAME is the name of the header file."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CNAME=$1
|
||||
shift
|
||||
HEADER_NAME=$1
|
||||
shift
|
||||
|
||||
if [ -e src/${NAME} ]
|
||||
then
|
||||
print_failure "src/${NAME} already exists."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$(echo ${NAME} | cut -b1-3)" != "lib" ]
|
||||
then
|
||||
echo "Warning: your module name does not begin with 'lib'. You will"
|
||||
echo "have to fix up your pkgconfig file manually, etc."
|
||||
NAMEMINUSL="@TODO@"
|
||||
else
|
||||
NAMEMINUSL="-l$(echo ${NAME} | sed -e 's,^lib,,')"
|
||||
fi
|
||||
|
||||
echo "Instantiating module src/${NAME}..."
|
||||
|
||||
do_cmd mkdir src/${NAME} || exit 1
|
||||
do_cmd cp ${TEMPLATE}/* src/${NAME} || exit 1
|
||||
|
||||
do_cmd cd src/${NAME} || exit 1
|
||||
do_cmd rm instantiate || exit 1
|
||||
do_cmd find . -type f -exec sed -e "s,@NAME@,${NAME},g" -i {} \; || exit 1
|
||||
do_cmd find . -type f -exec sed -e "s,@CNAME@,${CNAME},g" -i {} \; || exit 1
|
||||
do_cmd find . -type f -exec sed -e "s,@NAMEMINUSL@,${NAMEMINUSL},g" -i {} \; || exit 1
|
||||
do_cmd find . -type f -exec sed -e "s,@HEADER_NAME@,${HEADER_NAME},g" -i {} \; || exit 1
|
||||
do_cmd grep "@TODO@" * || exit 1
|
||||
print_success "Module instantiated."
|
||||
|
||||
# kate: replace-trailing-space-save true; space-indent true; tab-width 4;
|
||||
# vim: expandtab:ts=4:sw=4
|
||||
Loading…
Add table
Add a link
Reference in a new issue