Some comments about how to use the Makefiles collected here.


Makefile.dpkg_ipkg
------------------

This Makefile provides an 'install' target that depends on both
'install-program' and 'install-mo'. Applications should only provide
an 'install-program' target, not 'install'.


Use a dynamic path to the "build/" directory, since the tarball
created by 'make dist' will contain the Makefile.dpkg_ipkg in
"foo-0.23/build/". Define it as follows:

,----
| CVSBUILD = yes
| ifeq ($(CVSBUILD),yes)
| BUILD = ../build
| else
| BUILD = build
| endif
`----

Then use this Makefile.dpkg_ipkg in your application's Makefile like
this:

,----
| include $(BUILD)/Makefile.dpkg_ipkg
`----

Define a variable VERSION in your application Makefile:

,----
| VERSION = 0.23
`----

This will be used by Makefile.dpkg_ipkg to build a tarball with a
version number. E.g., if your application is called "foo" (defined
in your app's Makefile in the variable PACKAGE), then 'make dist'
will create "foo-0.23.tar.gz".

Also, you need to have something like
,----
| Source: SOURCE
`----
in your control file (make sure you also upload the source to
ftp://gpe.handhelds.org/gpe/source/$(PACKAGE)-$(VERSION).tar.gz -
'make dist-upload' attempts to do that for you).

If you are sure that everything will go alright, you can use 
'make source' which will create the tarball, tag CVS and upload the
tarball in one go.

Take a look at gpe/base/libgpewidget/Makefile for a real-world
example.


Makefile.translation
--------------------

Assuming your app's Makefile includes Makefile.translation,
run 'make extract-po' (assumes you have a 'po' directory).

Define the variable LINGUAS in your local Makefile with <langcode>.
Copy 'po/foo.pot' to 'po/<langcode>.po'. Let the translators fill
out 'po/<langcode>.po'.

Run 'make translation-package'.

Use 'make freshen-po' to retrieve the latest PO files for all
languages mentioned in $(LINGUAS).  It is a good idea to do this
prior to building a new release.


See http://handhelds.org/z/wiki/IpkgHackForLocales
