mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 12:03:31 +01:00
jw-build-create-project.sh: Add janware-create-project.sh
Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
d67c42c6f3
commit
bd8a028431
1 changed files with 145 additions and 0 deletions
145
scripts/jw-build-create-project.sh
Normal file
145
scripts/jw-build-create-project.sh
Normal file
|
|
@ -0,0 +1,145 @@
|
|||
#!/bin/bash
|
||||
|
||||
log()
|
||||
{
|
||||
echo $@
|
||||
}
|
||||
|
||||
err()
|
||||
{
|
||||
log $@
|
||||
}
|
||||
|
||||
fatal()
|
||||
{
|
||||
err $@
|
||||
exit 1
|
||||
}
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "$myname [-h] [-s summary] [-d description] name"
|
||||
[ "$1" ] && exit $1
|
||||
}
|
||||
|
||||
cat_Makefile()
|
||||
{
|
||||
cat <<-EOT
|
||||
TOPDIR = .
|
||||
|
||||
include \$(TOPDIR)/make/proj.mk
|
||||
include \$(MODDIR)/make/topdir.mk
|
||||
EOT
|
||||
}
|
||||
|
||||
cat_VERSION()
|
||||
{
|
||||
cat <<-EOT
|
||||
1.0.0-0-dev
|
||||
EOT
|
||||
}
|
||||
|
||||
cat_make_Makefile()
|
||||
{
|
||||
cat <<-EOT
|
||||
TOPDIR = ..
|
||||
|
||||
include \$(TOPDIR)/make/proj.mk
|
||||
include \$(MODDIR)/make/make.mk
|
||||
EOT
|
||||
}
|
||||
|
||||
cat_make_proj_mk()
|
||||
{
|
||||
cat <<-EOT
|
||||
# to be included from inside the project directory
|
||||
|
||||
CVS_PROJ_DIR ?= \$(TOPDIR)/..
|
||||
|
||||
ifeq (\$(TARGET),mingw)
|
||||
FLAVOUR_PATH_PREFIX = win32/
|
||||
endif
|
||||
MODDIR = \$(firstword \$(wildcard \$(CVS_PROJ_DIR)/ytools /opt/\$(FLAVOUR_PATH_PREFIX)ytools))
|
||||
|
||||
USE_PROJECT_LIB = false
|
||||
HDRDIR_SCOPE_SUFFIX = \$(PROJECT)
|
||||
EOT
|
||||
}
|
||||
|
||||
cat_make_project_conf()
|
||||
{
|
||||
cat <<-EOT
|
||||
[summary]
|
||||
$summary
|
||||
|
||||
[description]
|
||||
$description
|
||||
|
||||
[global]
|
||||
group = System/Libraries
|
||||
subpackages = $subpackages
|
||||
|
||||
[pkg.required]
|
||||
run = ytools-run = VERSION
|
||||
devel = $name-run = VERSION-REVISION, ytools-devel = VERSION
|
||||
build = ytools-devel
|
||||
EOT
|
||||
}
|
||||
|
||||
# ---------------------- here we go
|
||||
|
||||
myname=`basename $0`
|
||||
projdir=.
|
||||
|
||||
summary=
|
||||
description=
|
||||
subpackages="run devel"
|
||||
|
||||
eval set -- `getopt -- hd:s:p: "$@"`
|
||||
|
||||
while [ "$1" != -- ]; do
|
||||
case $1 in
|
||||
-d)
|
||||
eval description=\"$2\"
|
||||
shift;;
|
||||
-s)
|
||||
eval summary=\"$2\"
|
||||
shift;;
|
||||
-p)
|
||||
eval subpackages=\"$2\"
|
||||
shift;;
|
||||
-h)
|
||||
usage=0;;
|
||||
*)
|
||||
usage=1;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
shift
|
||||
|
||||
[ -z "$description" ] && description="$summary"
|
||||
[ -z "$summary" ] && summary="$description"
|
||||
|
||||
[ -f $projdir/Makefile ] || {
|
||||
fatal "$projdir doesn't contain a Makefile"
|
||||
}
|
||||
|
||||
name="$1"
|
||||
|
||||
[ -d $projdir/$name ] && {
|
||||
fatal "$projdir/$name already exists"
|
||||
}
|
||||
|
||||
set -ex
|
||||
|
||||
mkdir -p $projdir
|
||||
mkdir $name
|
||||
cd $projdir/$name
|
||||
|
||||
mkdir make
|
||||
cat_Makefile > Makefile
|
||||
cat_make_Makefile > make/Makefile
|
||||
cat_VERSION > VERSION
|
||||
cat_make_proj_mk > make/proj.mk
|
||||
cat_make_project_conf > make/project.conf
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue