Skip to content
  • Andreas Färber's avatar
    Drop --whole-archive and static libraries · 0e8c9214
    Andreas Färber authored
    
    
    Juan has contributed a cool Makefile infrastructure that enables us to drop
    static libraries completely:
    
    Move shared obj-y definitions to Makefile.objs, prefixed {common-,hw-,user-},
    and link those object files directly into the executables.
    
    Replace HWLIB by HWDIR, specifying only the directory.
    
    Drop --whole-archive and ARLIBS in Makefiles and configure.
    
    Drop GENERATED_HEADERS dependency in rules.mak, since this rebuilds all
    common objects after generating a target-specific header; add dependency
    rules to Makefile and Makefile.target instead.
    
    v2:
    - Don't try to include /config.mak for user emulators
    - Changes to user object paths ("Quickfix for libuser.a drop") were obsoleted
      by "user_only: compile everything with -fpie" (Kirill A. Shutemov)
    
    v3:
    - Fix dependency modelling for tools
    - Remove comment on GENERATED_HEADERS obsoleted by this patch
    
    Signed-off-by: default avatarAndreas Färber <afaerber@opensolaris.org>
    Cc: Blue Swirl <blauwirbel@gmail.com>
    Cc: Palle Lyckegaard <palle@lyckegaard.dk>
    Cc: Ben Taylor <bentaylor.solx86@gmail.com>
    Cc: Juan Quintela <quintela@trasno.org>
    Cc: Kirill A. Shutemov <kirill@shutemov.name>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: default avatarBlue Swirl <blauwirbel@gmail.com>
    0e8c9214