author | wimpie <wimpie> | 2005-01-06 03:58:21 (UTC) |
---|---|---|
committer | wimpie <wimpie> | 2005-01-06 03:58:21 (UTC) |
commit | ba9ce5a0fcd66031ade038f7e6a7ac26908225a5 (patch) (side-by-side diff) | |
tree | 2b54c7cd83047cc6897c9d8b368f7f17040f1e01 | |
parent | 98dd4c49f5d7a3c0569e3f6ff92f39451734070c (diff) | |
download | opie-ba9ce5a0fcd66031ade038f7e6a7ac26908225a5.zip opie-ba9ce5a0fcd66031ade038f7e6a7ac26908225a5.tar.gz opie-ba9ce5a0fcd66031ade038f7e6a7ac26908225a5.tar.bz2 |
little improvement for direct packaging of single application
-rwxr-xr-x | scripts/GeneratePackageMake | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/scripts/GeneratePackageMake b/scripts/GeneratePackageMake index d5ccee5..099d3e8 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); \\ \$(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 : \$(OPIEDIR)/Packages/$Pkg-mt +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 |