Bug #51024 Don't try to outsmart automake
Submitted: 9 Feb 2010 13:21 Modified: 27 Apr 2010 9:29
Reporter: Hartmut Holzgraefe Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench Severity:S3 (Non-critical)
Version:mysql-workbench-5.2-bzr OS:Linux
Assigned to: Alfredo Kojima CPU Architecture:Any

[9 Feb 2010 13:21] Hartmut Holzgraefe
Description:
Newly added ext/ctemplate/Makefile breaks use of all make targets besides "all", "install" "uninstall" and "distclean", and "clean" and "distclean" and "uninstall" targets do nothing ...

How to repeat:
Check out latest workbench-5.2 bzr tree, run autogen.sh and then a make target like e.g. "make info" (just to pick one) -> recursive make fails once it hits the ext/ctemplate subdir.

Or try a "make clean" after a build and see that object files under ext/ctemplate are *not* cleaned up.

Suggested fix:
Override the "install" and "uninstall" targets in Makefile.am
instead of introducing a Makefile not under the control of
automake. automake is clever enough to not generate any 
rules that are already present in the Makefile.am:

SUBDIRS=ctemplate-src

# only install what is really needed for workbench
install:
    make -C ctemplate-src install-libLTLIBRARIES

uninstall:
    make -C ctemplate-src uninstall-libLTLIBRARIES
[9 Feb 2010 13:54] Alfredo Kojima
Hi Hartmut

Thanks for the suggestion. The problem is that ctemplate is an external project and contains
many files that should not be installed during make install or make install-DATA or make install-anything
If these files get into the target directory, packages like RPM which dont expect such files will fail building
wasting us many hours to find and correct problems. We could of course override each of the targets that we don't want, but that takes a lot of time to fix and test and since we have so many other things to fix it's kind of a low priority issue atm.
[26 Apr 2010 22:56] Alfredo Kojima
Fixed according to suggested by http://www.gnu.org/software/automake/manual/automake.html#Miscellaneous
[26 Apr 2010 23:52] Johannes Taxacher
fix confirmed in repository
[27 Apr 2010 9:29] Tony Bedford
An entry has been added to the 5.2.20 changelog:

The MySQL Workbench make targets, with the exception of make all, were broken by the file ext/ctemplate/Makefile.