Alexandre Julliard : makefiles: Add rules to rebuild the po files in maintainer mode.
Alexandre Julliard
julliard at winehq.org
Wed Jan 5 12:40:25 CST 2011
Module: wine
Branch: master
Commit: 367fd228d849da2a4c248e0632e08f671c3d8d4c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=367fd228d849da2a4c248e0632e08f671c3d8d4c
Author: Alexandre Julliard <julliard at winehq.org>
Date: Tue Jan 4 17:05:21 2011 +0100
makefiles: Add rules to rebuild the po files in maintainer mode.
---
.gitignore | 1 +
Make.rules.in | 15 +++++++++++----
aclocal.m4 | 17 ++++++++++++++++-
configure | 26 ++++++++++++++++++++++++--
configure.ac | 11 +++++++++--
tools/make_makefiles | 5 ++++-
6 files changed, 65 insertions(+), 10 deletions(-)
diff --git a/.gitignore b/.gitignore
index 7ff26ad..87aad30 100644
--- a/.gitignore
+++ b/.gitignore
@@ -281,6 +281,7 @@ programs/winetest/build.rc
programs/winhlp32/macro.lex.yy.c
programs/wscript/ihost.h
programs/wscript/ihost.tlb
+rsrc.pot
server/wineserver
server/wineserver-installed
tools/fnt2bdf
diff --git a/Make.rules.in b/Make.rules.in
index 090a06e..eea8e8e 100644
--- a/Make.rules.in
+++ b/Make.rules.in
@@ -26,7 +26,8 @@ IDL_GEN_HEADERS = $(IDL_H_SRCS:.idl=.h) $(IDL_C_SRCS:.idl=.h) $(IDL_I_SRCS:.idl=
CLEAN_FILES = *.o *.a *.so *.ln *.res *.fake *.$(LIBEXT) \\\#*\\\# *~ *% .\\\#* *.bak *.orig *.rej *.flc core
CLEAN_TARGETS = $(IDL_GEN_C_SRCS) $(IDL_GEN_HEADERS) $(IDL_TLB_SRCS:.idl=.tlb) $(IDL_P_SRCS:%=dlldata.c) \
- $(BISON_SRCS:.y=.tab.c) $(BISON_SRCS:.y=.tab.h) $(LEX_SRCS:.l=.yy.c) $(MC_SRCS:.mc=.mc.rc)
+ $(BISON_SRCS:.y=.tab.c) $(BISON_SRCS:.y=.tab.h) $(LEX_SRCS:.l=.yy.c) \
+ $(MC_SRCS:.mc=.mc.rc) $(PO_SRCS:%=rsrc.pot)
OBJS = $(C_SRCS:.c=.o) $(BISON_SRCS:.y=.tab.o) $(LEX_SRCS:.l=.yy.o) $(IDL_GEN_C_SRCS:.c=.o) \
$(IDL_R_SRCS:.idl=_r.res) $(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.mc.res) $(EXTRA_OBJS)
@@ -174,15 +175,21 @@ install install-lib install-dev uninstall::
.PHONY: install install-lib install-dev uninstall
-# Misc. rules
+# Rules for resources
-$(MC_SRCS:.mc=.mc.rc): $(WMC)
+all: @MAINTAINER_MODE@ $(PO_SRCS:%=rsrc.pot)
-$(IDL_GEN_HEADERS) $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS:.idl=.tlb) $(IDL_R_SRCS:.idl=_r.res): $(WIDL)
+$(PO_SRCS:%=rsrc.pot): $(WRC) $(PO_SRCS)
+ $(LDPATH) $(WRC) $(RCFLAGS) -O pot -o $@ $(PO_SRCS)
+$(MC_SRCS:.mc=.mc.rc): $(WMC)
$(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.mc.res): $(WRC)
$(PO_SRCS:.rc=.res): $(ALL_PO_FILES)
+# Misc. rules
+
+$(IDL_GEN_HEADERS) $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS:.idl=.tlb) $(IDL_R_SRCS:.idl=_r.res): $(WIDL)
+
dummy:
.PHONY: dummy
diff --git a/aclocal.m4 b/aclocal.m4
index 0cd5608..79486ab 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -150,6 +150,7 @@ all: Makefile
Makefile: Makefile.in Make.vars.in Make.rules config.status
@./config.status Make.tmp Makefile"
+ALL_POT_FILES=""
AC_SUBST(ALL_WINETEST_DEPENDS,["# Test binaries"])
AC_SUBST(ALL_TEST_BINARIES,"")
@@ -266,7 +267,14 @@ install:: $ac_dir/Makefile __builddeps__
install-lib:: $ac_dir/Makefile __builddeps__
@cd $ac_dir && \$(MAKE) install-lib
uninstall manpages htmlpages sgmlpages xmlpages:: $ac_dir/Makefile
- @cd $ac_dir && \$(MAKE) \$[@]"])
+ @cd $ac_dir && \$(MAKE) \$[@]"
+
+ if test "x$enable_maintainer_mode" = xyes && wine_fn_has_flag po $ac_flags
+ then
+ wine_fn_append_file ALL_POT_FILES $ac_dir/rsrc.pot
+ wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
+"$ac_dir/rsrc.pot: $ac_dir"
+ fi])
if wine_fn_has_flag staticimplib $ac_flags
then
@@ -338,6 +346,13 @@ wine_fn_config_program ()
$ac_dir: $ac_dir/Makefile __builddeps__ dummy
@cd $ac_dir && \$(MAKE)"
+ if test "x$enable_maintainer_mode" = xyes && wine_fn_has_flag po $ac_flags
+ then
+ wine_fn_append_file ALL_POT_FILES $ac_dir/rsrc.pot
+ wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
+"$ac_dir/rsrc.pot: $ac_dir"
+ fi
+
wine_fn_has_flag install $ac_flags || return
wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
"install install-lib:: $ac_dir/Makefile __builddeps__
diff --git a/configure b/configure
index 2074d3b..9ea4c4a 100755
--- a/configure
+++ b/configure
@@ -14471,6 +14471,7 @@ all: Makefile
Makefile: Makefile.in Make.vars.in Make.rules config.status
@./config.status Make.tmp Makefile"
+ALL_POT_FILES=""
ALL_WINETEST_DEPENDS="# Test binaries"
ALL_TEST_BINARIES=""
@@ -14591,6 +14592,13 @@ install-lib:: $ac_dir/Makefile __builddeps__
@cd $ac_dir && \$(MAKE) install-lib
uninstall manpages htmlpages sgmlpages xmlpages:: $ac_dir/Makefile
@cd $ac_dir && \$(MAKE) \$@"
+
+ if test "x$enable_maintainer_mode" = xyes && wine_fn_has_flag po $ac_flags
+ then
+ wine_fn_append_file ALL_POT_FILES $ac_dir/rsrc.pot
+ wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
+"$ac_dir/rsrc.pot: $ac_dir"
+ fi
fi
if wine_fn_has_flag staticimplib $ac_flags
@@ -14666,6 +14674,13 @@ else
$ac_dir: $ac_dir/Makefile __builddeps__ dummy
@cd $ac_dir && \$(MAKE)"
+ if test "x$enable_maintainer_mode" = xyes && wine_fn_has_flag po $ac_flags
+ then
+ wine_fn_append_file ALL_POT_FILES $ac_dir/rsrc.pot
+ wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
+"$ac_dir/rsrc.pot: $ac_dir"
+ fi
+
wine_fn_has_flag install $ac_flags || return
wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
"install install-lib:: $ac_dir/Makefile __builddeps__
@@ -15379,7 +15394,7 @@ wine_fn_config_makefile loader enable_loader
wine_fn_config_program aspnet_regiis enable_aspnet_regiis install
wine_fn_config_program attrib enable_attrib install
wine_fn_config_program cacls enable_cacls install
-wine_fn_config_program clock enable_clock install
+wine_fn_config_program clock enable_clock po,install
wine_fn_config_program cmd enable_cmd install
wine_fn_config_test programs/cmd/tests cmd.exe_test
wine_fn_config_program cmdlgtst enable_cmdlgtst
@@ -15510,7 +15525,14 @@ then
\$(srcdir)/include/config.h.in: include/stamp-h.in
\$(srcdir)/include/stamp-h.in: configure.ac aclocal.m4
cd \$(srcdir) && autoheader --warnings=all
- @echo timestamp > \$@"
+ @echo timestamp > \$@
+
+ALL_POT_FILES =$ALL_POT_FILES
+all: \$(ALL_PO_FILES)
+\$(ALL_PO_FILES): \$(srcdir)/po/wine.pot
+ msgmerge -U -q --backup=none \$@ \$(srcdir)/po/wine.pot && touch \$@
+\$(srcdir)/po/wine.pot: \$(ALL_POT_FILES)
+ msgcat -o \$@ \$(ALL_POT_FILES)"
fi
if test -n "$with_wine64"
diff --git a/configure.ac b/configure.ac
index f27659d..1ae12ac 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2865,7 +2865,7 @@ WINE_CONFIG_MAKEFILE([loader])
WINE_CONFIG_PROGRAM(aspnet_regiis,,[install])
WINE_CONFIG_PROGRAM(attrib,,[install])
WINE_CONFIG_PROGRAM(cacls,,[install])
-WINE_CONFIG_PROGRAM(clock,,[install])
+WINE_CONFIG_PROGRAM(clock,,[po,install])
WINE_CONFIG_PROGRAM(cmd,,[install])
WINE_CONFIG_TEST(programs/cmd/tests)
WINE_CONFIG_PROGRAM(cmdlgtst)
@@ -3003,7 +3003,14 @@ then
\$(srcdir)/include/config.h.in: include/stamp-h.in
\$(srcdir)/include/stamp-h.in: configure.ac aclocal.m4
cd \$(srcdir) && autoheader --warnings=all
- @echo timestamp > \$[@]])
+ @echo timestamp > \$[@]
+
+ALL_POT_FILES =$ALL_POT_FILES
+all: \$(ALL_PO_FILES)
+\$(ALL_PO_FILES): \$(srcdir)/po/wine.pot
+ msgmerge -U -q --backup=none \$[@] \$(srcdir)/po/wine.pot && touch \$[@]
+\$(srcdir)/po/wine.pot: \$(ALL_POT_FILES)
+ msgcat -o \$[@] \$(ALL_POT_FILES)])
fi
if test -n "$with_wine64"
diff --git a/tools/make_makefiles b/tools/make_makefiles
index 08e7dd2..97c8d40 100755
--- a/tools/make_makefiles
+++ b/tools/make_makefiles
@@ -100,6 +100,7 @@ my @ignores = (
"programs/winetest/*_test.rc",
"programs/winetest/build.nfo",
"programs/winetest/build.rc",
+ "rsrc.pot",
"tools/makedep",
);
@@ -315,7 +316,7 @@ sub parse_makefile($)
$make{$1} = $2;
next;
}
- if (/^\s*(BISON_SRCS|LEX_SRCS|IDL_[CHIPRS]_SRCS|IDL_TLB_SRCS|IMPLIB_SRCS|C_SRCS|MC_SRCS|RC_SRCS|SVG_SRCS|PROGRAMS)\s*=\s*(.*)/)
+ if (/^\s*(BISON_SRCS|LEX_SRCS|IDL_[CHIPRS]_SRCS|IDL_TLB_SRCS|IMPLIB_SRCS|C_SRCS|MC_SRCS|RC_SRCS|PO_SRCS|SVG_SRCS|PROGRAMS)\s*=\s*(.*)/)
{
my @list = split(/\s+/, $2);
$make{$1} = \@list;
@@ -424,6 +425,7 @@ sub update_makefiles(@)
die "Invalid MODULE in $file" unless $make{"MODULE"} eq "$name.dll";
}
my $implib = $make{"IMPORTLIB"} || "";
+ push @flags, "po" if defined $make{"PO_SRCS"};
push @flags, "implib" if $implib;
push @flags, "staticimplib" if defined($make{"IMPLIB_SRCS"});
$args .= "," if $is_win16 || @flags;
@@ -443,6 +445,7 @@ sub update_makefiles(@)
{
die "Invalid MODULE in $file" unless $make{"MODULE"} eq "$name.exe";
}
+ push @flags, "po" if defined $make{"PO_SRCS"};
push @flags, "install" unless $dont_install{$name};
push @flags, "installbin" if $bin_install{$name};
$args .= "," if $is_win16 || @flags;
More information about the wine-cvs
mailing list