summaryrefslogtreecommitdiff
path: root/scripts/GeneratePackageMake
Side-by-side diff
Diffstat (limited to 'scripts/GeneratePackageMake') (more/less context) (ignore whitespace changes)
-rwxr-xr-xscripts/GeneratePackageMake8
1 files changed, 4 insertions, 4 deletions
diff --git a/scripts/GeneratePackageMake b/scripts/GeneratePackageMake
index 099d3e8..9d692a9 100755
--- a/scripts/GeneratePackageMake
+++ b/scripts/GeneratePackageMake
@@ -1,228 +1,228 @@
# generate file containg control name / package name / files
find . -name *.control | grep -v -- "-mt.control" | while read i
do
i=${i/.\//}
CDIR=${i%/*}
BNAME=${i##*/}
BNAME=${BNAME/.control/}
echo "cdir: ${CDIR}"
echo "bname: ${BNAME}"
grep -e "Package:" -e "Files:" ./${i}
done > /tmp/ALL
#
# makefile header
#
cat << MAKEFILEHEADER
#
# generate -mt.control file from regular control
# arg 1 : path to control file to convert
#
define GenerateMTControl
@echo "Generating -mt control file for \$(basename \$<)"
@\$(OPIEDIR)/scripts/tothreaded \$< \$(OPIEDIR)/AllThreadedPackages
endef
#
# package one control file
# arg 1 : directory from OPIEROOT where control file resides
# arg 2 : control file basename without -mt (no .control)
# arg 3 : control file basename with -mt if needed
# arg 4 : package name (value specified by Package: ...)
#
define DoPackage
-@echo \"Building ipk of \$(4)\"
-@( \$(ForSubst) ) > \$(TOPDIR)/scripts/subst
-@( \$(ForFileSubst) ) > \$(TOPDIR)/scripts/Filesubst
-@( cd \$(OPIEDIR); \\
+echo \"Building ipk of \$(4)\"
+( \$(ForSubst) ) > \$(TOPDIR)/scripts/subst
+( \$(ForFileSubst) ) > \$(TOPDIR)/scripts/Filesubst
+( cd \$(OPIEDIR); \\
\$(OPIEDIR)/scripts/mkipkg \\
--subst=\$(OPIEDIR)/scripts/subst \\
--filesubst=\$(OPIEDIR)/scripts/filesubst \\
--control=\$(OPIEDIR)/\$(1)/\$(3).control \\
--prerm=\$(OPIEDIR)/\$(1)/\$(2).prerm \\
--preinst=\$(OPIEDIR)/\$(1)/\$(2).preinst \\
--postrm=\$(OPIEDIR)/\$(1)/\$(2).postrm \\
--postinst=\$(OPIEDIR)/\$(1)/\$(2).postinst \\
--strip=\$(STRIP) \$(OPIEDIR); \\
rm -f \$(OPIEDIR)/Packages/\$(4)_*.ipk; \\
mv *.ipk \$(OPIEDIR)/Packages; \\
touch \$(OPIEDIR)/Packages/\$(4) \\
) || true
endef
#
# prepared for generating the substfile for every build
#
define ForSubst
echo 's,\\\$\$QPE_VERSION,\$(QPE_VERSION),g'; \\
echo 's,\\\$\$OPIE_VERSION,\$(OPIE_VERSION),g'; \\
echo 's,\\\$\$QTE_VERSION,\$(QTE_VERSION),g'; \\
echo 's,\\\$\$QTE_REVISION,\$(QTE_REVISION),g'; \\
echo 's,\\\$\$SUB_VERSION,\$(SUB_VERSION),g'; \\
echo 's,\\\$\$EXTRAVERSION,\$(EXTRAVERSION),g'; \\
echo 's,\\\$\$QTE_BASEVERSION,\$(QTE_BASEVERSION),g'
endef
define ForFileSubst
echo 's,\\\$\$OPIEDIR/root/,/,g'; \\
echo 's,\$(OPIEDIR)/root/,/,g'; \\
echo 's,\\\$\$OPIEDIR,\$(prefix),g'; \\
echo 's,\$(OPIEDIR),\$(prefix),g'; \\
echo 's,\\\$\$QTDIR,\$(prefix),g'; \\
echo 's,\$(QTDIR),\$(prefix),g'; \\
echo 's,^\(\./\)*root/,/,g'; \\
echo 's,^\(\./\)*etc/,\$(prefix)/etc/,g'; \\
echo 's,^\(\./\)*lib/,\$(prefix)/lib/,g'; \\
echo 's,^\(\./\)*bin/,\$(prefix)/bin/,g'; \\
echo 's,^\(\./\)*pics/,\$(prefix)/pics/,g'; \\
echo 's,^\(\./\)*sounds/,\$(prefix)/sounds/,g'; \\
echo 's,^\(\./\)*i18n/,\$(prefix)/i18n/,g'; \\
echo 's,^\(\./\)*plugins/,\$(prefix)/plugins/,g'; \\
echo 's,^\(\./\)*apps/,\$(prefix)/apps/,g'; \\
echo 's,^\(\./\)*share/,\$(prefix)/share/,g'; \\
echo 's,^\(\./\)*i18n/,\$(prefix)/i18n/,g'; \\
echo 's,^\(\./\)*help/,\$(prefix)/help/,g'
endef
#
# Will contain a list of all non-mt control files
ALLCONTROLFILES=
#
# Will contain a list of all packaging targets
ALLPACKAGES=
# s contains now single space
s=\$(x) \$(x)
#
# for convenience : generate AllTh
ATP=\$(OPIEDIR)/AllThreadedPackages
MAKEFILEHEADER
while read k
do
CDIR="${k#* }"
read k
BNAME="${k#* }"
read k
case $k in
*"ackage:"*)
Pkg="${k#* }"
Pkg="${Pkg// }"
;;
*"iles:"*)
Files="${k/Files:/}"
;;
esac
read k
case $k in
*"ackage:"*)
Pkg="${k#* }"
Pkg="${Pkg// }"
;;
*"iles:"*)
Files="${k/Files:/}"
;;
esac
cat << HERE
#
# package $Pkg in ${BNAME}
#
package-${Pkg} : \$(OPIEDIR)/Packages/$Pkg
package-${Pkg}-mt : \$(ATP) \$(OPIEDIR)/Packages/$Pkg-mt
# collect control files and package targets
ALLCONTROLFILES += ${CDIR}/${BNAME}.control
ALLPACKAGES += $Pkg
# to generate -mt control file
\$(OPIEDIR)/${CDIR}/${BNAME}-mt.control : \$(OPIEDIR)/${CDIR}/${BNAME}.control
\$(GenerateMTControl)
HERE
if [ ! -z "${Files}" ]
then
cat << HERE
# optimize speed
.phony : \$(wildcard \$(addprefix \$(OPIEDIR)/,${Files}))
# capture missing files (because not built)
\$(OPIEDIR)/Packages/$Pkg \$(OPIEDIR)/Packages/$Pkg-mt \$(SUBSTFILES): \$(wildcard \$(addprefix \$(OPIEDIR)/,${Files}))
HERE
# echo "\$(wildcard \$(addprefix \$(OPIEDIR)/,${Files})) : "
fi
cat << HERE
\$(OPIEDIR)/Packages/$Pkg : \$(OPIEDIR)/${CDIR}/${BNAME}.control
@\$(call DoPackage,${CDIR},${BNAME},${BNAME},${Pkg})
\$(OPIEDIR)/Packages/$Pkg-mt : \$(OPIEDIR)/${CDIR}/${BNAME}-mt.control
@\$(call DoPackage,${CDIR},${BNAME},${BNAME}-mt,${Pkg}-mt)
HERE
done < /tmp/ALL
cat << HERE
#
# regenerate package file if control files are modified
#
Package.make : \$(addprefix \$(OPIEDIR)/,\$(ALLCONTROLFILES))
#
# make targets to build packages
# needs quicklauncher link in location (because dangling
# links are not considered as true files by the wildcard command)
#
# if you want to build one package only then use
# make package-<basenameof control>
# or make package-<basenameof control>-mt
#
packages : /opt/QtPalmtop/bin/quicklauncher \\
\$(OPIEDIR)/Packages \\
\$(add prefix \$(OPIEDIR)/Packages/,\$(ALLPACKAGES))
packages-mt : /opt/QtPalmtop/bin/quicklauncher \\
\$(ATP) \\
\$(OPIEDIR)/Packages \\
\$(addprefix \$(OPIEDIR)/Packages/,\$(addsuffix -mt,\$(ALLPACKAGES)))
#
# capture missing quichlauncher link
#
/opt/QtPalmtop/bin/quicklauncher :
@echo "create a link from /opt/QtPalmtop to \$(OPIEDIR) for this target to work"
exit 2
#
# Create Packages directory
#
\$(OPIEDIR)/Packages :
@mkdir \$(OPIEDIR)/Packages
#
# update file containing all packages
#
\$(ATP) : \$(addprefix \$(OPIEDIR)/,\$(ALLCONTROLFILES))
@echo "Generating \$(notdir \$(ATP))"
@echo -e "\$(subst \$(s),,\$(foreach i,\$(ALLPACKAGES),\$(i)\n))" > \$@
HERE
rm /tmp/ALL