Copyright (C) 2000-2012 |
GNU Info (gettext.info)src/Makefile`Makefile.in' in `src/' ----------------------- Some of the modifications made in the main `Makefile.in' will also be needed in the `Makefile.in' from your package sources, which we assume here to be in the `src/' subdirectory. Here are all the modifications needed in `src/Makefile.in': 1. In view of the `dist:' goal, you should have these lines near the beginning of `src/Makefile.in': PACKAGE = @PACKAGE@ VERSION = @VERSION@ 2. If not done already, you should guarantee that `top_srcdir' gets defined. This will serve for `cpp' include files. Just add the line: top_srcdir = @top_srcdir@ 3. You might also want to define `subdir' as `src', later allowing for almost uniform `dist:' goals in all your `Makefile.in'. At list, the `dist:' goal below assume that you used: subdir = src 4. The `main' function of your program will normally call `bindtextdomain' (see Note: Triggering), like this: bindtextdomain (PACKAGE, LOCALEDIR); To make LOCALEDIR known to the program, add the following lines to Makefile.in: datadir = @datadir@ localedir = $(datadir)/locale DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ Note that `@datadir@' defaults to `$(prefix)/share', thus `$(localedir)' defaults to `$(prefix)/share/locale'. 5. You should ensure that the final linking will use `@INTLLIBS@' as a library. An easy way to achieve this is to manage that it gets into `LIBS', like this: LIBS = @INTLLIBS@ @LIBS@ In most packages internationalized with GNU `gettext', one will find a directory `lib/' in which a library containing some helper functions will be build. (You need at least the few functions which the GNU `gettext' Library itself needs.) However some of the functions in the `lib/' also give messages to the user which of course should be translated, too. Taking care of this it is not enough to place the support library (say `libsupport.a') just between the `@INTLLIBS@' and `@LIBS@' in the above example. Instead one has to write this: LIBS = ../lib/libsupport.a @INTLLIBS@ ../lib/libsupport.a @LIBS@ 6. You should also ensure that directory `intl/' will be searched for C preprocessor include files in all circumstances. So, you have to manage so both `-I../intl' and `-I$(top_srcdir)/intl' will be given to the C compiler. 7. Your `dist:' goal has to conform with others. Here is a reasonable definition for it: distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) dist: Makefile $(DISTFILES) for file in $(DISTFILES); do \ ln $$file $(distdir) 2>/dev/null || cp -p $$file $(distdir); \ done automatically generated by info2www version 1.2.2.9 |