Module: wine Branch: master Commit: 752b0e02eab20109beeefd897704aa962bc2912e URL: http://source.winehq.org/git/wine.git/?a=commit;h=752b0e02eab20109beeefd8977...
Author: Alexandre Julliard julliard@winehq.org Date: Sat Oct 5 23:52:47 2013 +0200
makefiles: Move the import library rules to the global Make.rules file.
---
Make.rules.in | 15 ++++++++++++++- aclocal.m4 | 4 ++-- configure | 4 ++-- dlls/Makedll.rules.in | 33 --------------------------------- dlls/krnl386.exe16/Makefile.in | 1 - 5 files changed, 18 insertions(+), 39 deletions(-)
diff --git a/Make.rules.in b/Make.rules.in index fb7ac3e..84a05c2 100644 --- a/Make.rules.in +++ b/Make.rules.in @@ -25,7 +25,7 @@ IDL_GEN_HEADERS = $(IDL_H_SRCS:.idl=.h) $(IDL_C_SRCS:.idl=.h) $(IDL_I_SRCS:.idl= $(IDL_P_SRCS:.idl=.h) $(IDL_S_SRCS:.idl=.h)
CLEAN_FILES = *.o *.a *.so *.mo *.res *.fake *.ok *.tab.[ch] *.yy.c -CLEAN_TARGETS = $(IDL_GEN_C_SRCS) $(IDL_GEN_HEADERS) \ +CLEAN_TARGETS = $(IMPORTLIB:%=lib%.@IMPLIBEXT@) $(IDL_GEN_C_SRCS) $(IDL_GEN_HEADERS) \ $(IDL_TLB_SRCS:.idl=.tlb) $(IDL_P_SRCS:.idl=_p.c dlldata.c) \ $(PO_SRCS:.rc=.res rsrc.pot) $(MC_SRCS:.mc=.res msg.pot) $(XTEMPLATE_SRCS:.x=.h)
@@ -123,6 +123,19 @@ $(STATICLIB:.a=.cross.a): $(CROSSOBJS) Makefile.in $(CROSSAR) $(ARFLAGS) $@ $(CROSSOBJS) $(CROSSRANLIB) $@
+# Rules for import libraries + +$(IMPORTLIB:%=lib%.def.a): $(IMPLIB_SRCS:.c=.o) + $(RM) $@ + $(AR) $(ARFLAGS) $@ $(IMPLIB_SRCS:.c=.o) + $(RANLIB) $@ + +$(IMPORTLIB:%=lib%.a): $(MAINSPEC) $(IMPLIB_SRCS:.c=.o) + $(WINEBUILD) $(TARGETFLAGS) -w --implib -o $@ --export $(srcdir)/$(MAINSPEC) $(IMPLIB_SRCS:.c=.o) + +$(IMPORTLIB:%=lib%.cross.a): $(MAINSPEC) $(IMPLIB_SRCS:.c=.cross.o) + $(WINEBUILD) $(CROSSTARGET:%=-b %) -w --implib -o $@ --export $(srcdir)/$(MAINSPEC) $(IMPLIB_SRCS:.c=.cross.o) + # Rules for dependencies
DEPEND_SRCS = $(C_SRCS) $(OBJC_SRCS) $(RC_SRCS) $(MC_SRCS) \ diff --git a/aclocal.m4 b/aclocal.m4 index 30d6827..9e2e147 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -432,8 +432,8 @@ $ac_dir/uninstall:: wine_fn_append_rule \ "__builddeps__: $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT $ac_file.cross.a: $ac_deps -$ac_file.def: $ac_dir/$ac_name.spec $ac_dir/Makefile - @cd $ac_dir && $(MAKE) lib$ac_implib.def +$ac_file.def: $ac_dir/$ac_name.spec $ac_dir/Makefile $(WINEBUILD) + $(WINEBUILD) $(TARGETFLAGS)$ac_implibflags -w --def -o $[@] --export $(srcdir)/$ac_dir/$ac_name.spec $ac_file.$STATIC_IMPLIBEXT: $ac_dir/Makefile dummy @cd $ac_dir && $(MAKE) lib$ac_implib.$STATIC_IMPLIBEXT .PHONY: $ac_dir/install-dev $ac_dir/uninstall diff --git a/configure b/configure index b022253..c67e7ba 100755 --- a/configure +++ b/configure @@ -16294,8 +16294,8 @@ fi wine_fn_append_rule \ "__builddeps__: $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT $ac_file.cross.a: $ac_deps -$ac_file.def: $ac_dir/$ac_name.spec $ac_dir/Makefile - @cd $ac_dir && $(MAKE) lib$ac_implib.def +$ac_file.def: $ac_dir/$ac_name.spec $ac_dir/Makefile $(WINEBUILD) + $(WINEBUILD) $(TARGETFLAGS)$ac_implibflags -w --def -o $@ --export $(srcdir)/$ac_dir/$ac_name.spec $ac_file.$STATIC_IMPLIBEXT: $ac_dir/Makefile dummy @cd $ac_dir && $(MAKE) lib$ac_implib.$STATIC_IMPLIBEXT .PHONY: $ac_dir/install-dev $ac_dir/uninstall diff --git a/dlls/Makedll.rules.in b/dlls/Makedll.rules.in index 3a226ce..2e23116 100644 --- a/dlls/Makedll.rules.in +++ b/dlls/Makedll.rules.in @@ -12,10 +12,6 @@ BASEMODULE = $(MODULE:%.dll=%) MAINSPEC = $(BASEMODULE).spec ALL_LIBS = $(LIBPORT) $(EXTRALIBS) $(LDFLAGS) $(LIBS) IDL_TLB_RES = $(IDL_TLB_SRCS:.idl=_t.res) -IMPLIB_OBJS = $(IMPLIB_SRCS:.c=.o) -IMPLIBFLAGS = $(TARGETFLAGS) $(EXTRAIMPLIBFLAGS) -IMPORTLIBFILE = $(IMPORTLIB:%=lib%.@IMPLIBEXT@) -STATICIMPLIB = $(IMPORTLIBFILE:.def=.def.a)
@MAKE_RULES@
@@ -24,30 +20,6 @@ all: $(MODULE)$(DLLEXT) $(MODULE)$(FAKEEXT) $(MODULE) $(MODULE).so $(MODULE).fake: $(MAINSPEC) $(OBJS) Makefile.in $(WINEGCC) -shared $(srcdir)/$(MAINSPEC) $(OBJS) $(EXTRADLLFLAGS) -o $@ $(DELAYIMPORTS:%=-l%) $(IMPORTS:%=-l%) $(DELAYIMPORTS:%=-Wb,-d%) $(ALL_LIBS)
-# Rules for import libraries - -IMPLIB_CROSSOBJS = $(IMPLIB_OBJS:.o=.cross.o) - -.PHONY: $(IMPLIB_SRCS:%=__static_implib__%) - -all: $(IMPORTLIBFILE) $(IMPLIB_SRCS:%=__static_implib__%) @CROSSTEST_DISABLE@ $(IMPORTLIB:%=lib%.cross.a) - -$(IMPLIB_SRCS:%=__static_implib__%): $(STATICIMPLIB) - -$(IMPORTLIB:%=lib%.def): $(MAINSPEC) - $(WINEBUILD) $(IMPLIBFLAGS) -w --def -o $@ --export $(srcdir)/$(MAINSPEC) - -$(IMPORTLIB:%=lib%.def.a): $(IMPLIB_OBJS) - $(RM) $@ - $(AR) $(ARFLAGS) $@ $(IMPLIB_OBJS) - $(RANLIB) $@ - -$(IMPORTLIB:%=lib%.a): $(MAINSPEC) $(IMPLIB_OBJS) - $(WINEBUILD) $(IMPLIBFLAGS) -w --implib -o $@ --export $(srcdir)/$(MAINSPEC) $(IMPLIB_OBJS) - -$(IMPORTLIB:%=lib%.cross.a): $(MAINSPEC) $(IMPLIB_CROSSOBJS) - $(WINEBUILD) $(IMPLIBFLAGS) $(CROSSTARGET:%=-b %) -w --implib -o $@ --export $(srcdir)/$(MAINSPEC) $(IMPLIB_CROSSOBJS) - # Rules for auto documentation
manpages:: $(C_SRCS) dummy @@ -62,9 +34,4 @@ sgmlpages:: $(C_SRCS) dummy xmlpages:: $(C_SRCS) dummy $(C2MAN) -o $(top_builddir)/documentation/api-guide-xml -R$(top_builddir) -C$(srcdir) $(INCLUDES) -Tx $(MAINSPEC:%=-w %) $(C_SRCS)
-# Misc. rules - -clean:: - $(RM) $(IMPORTLIBFILE) - # End of global dll rules diff --git a/dlls/krnl386.exe16/Makefile.in b/dlls/krnl386.exe16/Makefile.in index 6c7e5ea..4facf93 100644 --- a/dlls/krnl386.exe16/Makefile.in +++ b/dlls/krnl386.exe16/Makefile.in @@ -2,7 +2,6 @@ MODULE = krnl386.exe16 IMPORTLIB = kernel IMPORTS = winecrt0 kernel32 ntdll DELAYIMPORTS = ddraw dsound user32 -EXTRAIMPLIBFLAGS = -m16 EXTRADLLFLAGS = -m16 -nodefaultlibs -Wb,--dll-name,kernel EXTRARCFLAGS = -m16