Drop --whole-archive and static libraries
commit0e8c9214ba1d4128cf92442cd343bc3733478261
authorAndreas Färber <afaerber@opensolaris.org>
Wed, 6 Jan 2010 19:24:05 +0000 (6 20:24 +0100)
committerBlue Swirl <blauwirbel@gmail.com>
Thu, 7 Jan 2010 18:08:53 +0000 (7 18:08 +0000)
tree8995d2c08ca05c52b7c128c8f397330a52ca6584
parent18cb1d85578e03b16570d9380309cca673f9fff8
Drop --whole-archive and static libraries

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: Andreas 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: Blue Swirl <blauwirbel@gmail.com>
Makefile
Makefile.hw
Makefile.objs [new file with mode: 0644]
Makefile.target
Makefile.user
configure
rules.mak