Do not output .lo rules for programs and static libraries objects, and do not output .o/.obj rules for libtool libraries. This is about explicit rules only, not inference rules. * automake.in (handle_single_transform_list): Rename as ... (handle_single_transform): ... this. Take a single file to transform (it was only called this way) and accept a new %transform argument. Fill %lang_specific_files with list references instead of strings, and append %transform to each of these lists. (define_objects_from_sources, handle_source_transform): Take a %transform argument, and forward it to &handle_single_transform. (handle_languages): Adjust to the new format of %lang_specific_files, and honor its %transform part. (handle_programs, handle_libraries, handle_ltlibraries): Override %NONLIBTOOL% and %LIBTOOL% while calling handle_source_transform. (make_paragraphs): Define %NONLIBTOOL% by default. Make sure %transform settings override global settings. * lib/am/depend2.am (%OBJ%, %OBJOBJ%): Define only if %NONLIBTOOL%. * tests/libtool3.test: Augment to check Makefile.ins for unneeded rules. Suggested by Thomas Fitzsimmons.