Alexandre Julliard : makefiles: Move the import library rules to the global Make.rules file.
Alexandre Julliard
julliard at winehq.org
Wed Oct 9 14:22:14 CDT 2013
Module: wine
Branch: master
Commit: 752b0e02eab20109beeefd897704aa962bc2912e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=752b0e02eab20109beeefd897704aa962bc2912e
Author: Alexandre Julliard <julliard at 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%. at 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%. at 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
More information about the wine-cvs
mailing list