URL:
  <http://savannah.gnu.org/bugs/?18139>

                 Summary: make chooses wrong pattern rule
                 Project: make
            Submitted by: ironhead
            Submitted on: Sunday 10/29/2006 at 00:49
                Severity: 3 - Normal
              Item Group: Bug
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
       Component Version: 3.81
        Operating System: MS Windows
           Fixed Release: None

    _______________________________________________________

Details:

In the attached archive there is a Makefile that contains 3 rules:

lib%.a : %.def %.o
        $(DLLTOOL) $(DLLTOOL_FLAGS) --output-lib $@ --def $(srcdir)/$*.def
        $(AR) r $@ $*.o
        $(RANLIB) $@

lib%.a: %.def
        $(DLLTOOL) $(DLLTOOL_FLAGS) --output-lib $@ --def $<

lib%.a: %.o
        $(AR) rc $@ $*.o
        $(RANLIB) $@

In versions of make prior to 3.81, the first rule was used for creating
import libraries that were comprised of both .def and object file.  In
version 3.81, the first rule is skipped and the second rule is used, as a
result, the exported functions and definitions in the object files are not
included in the import library.





    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Sunday 10/29/2006 at 00:49  Name: make_rule_issue.tar.gz  Size: 7kB  
By: ironhead
Cygwin based rule isse example
<http://savannah.gnu.org/bugs/download.php?file_id=11099>

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?18139>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/



_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to