makefiles: Build the dlls directly from the top-level makefile.

This commit is contained in:
Alexandre Julliard 2010-02-10 19:32:31 +01:00
parent 312e4f6b23
commit 5acb431511
6 changed files with 1435 additions and 546 deletions

View File

@ -27,6 +27,7 @@ VPATH = @srcdir@
LIBEXT = @LIBEXT@
MODULE = none
ALL_DLL_DIRS = @ALL_DLL_DIRS@
ALL_STATICLIB_DIRS = @ALL_STATICLIB_DIRS@
ALL_TEST_DIRS = @ALL_TEST_DIRS@
ALL_TOOL_DIRS = @ALL_TOOL_DIRS@
@ -34,7 +35,6 @@ ALL_TOP_DIRS = @ALL_TOP_DIRS@
# Sub-directories to run make depend/clean into
SUBDIRS = \
dlls \
documentation \
fonts \
include \
@ -46,6 +46,7 @@ SUBDIRS = \
server \
$(ALL_TOOL_DIRS) \
$(ALL_STATICLIB_DIRS) \
$(ALL_DLL_DIRS) \
$(ALL_TEST_DIRS)
# Sub-directories to run make all into
@ -54,6 +55,7 @@ BUILDSUBDIRS = \
$(ALL_TOOL_DIRS) \
$(ALL_TOP_DIRS) \
$(ALL_STATICLIB_DIRS) \
$(ALL_DLL_DIRS) \
$(ALL_TEST_DIRS)
# Sub-directories to run make install/uninstall into
@ -61,13 +63,17 @@ INSTALLSUBDIRS = \
libs/wine \
$(ALL_TOOL_DIRS) \
$(ALL_TOP_DIRS) \
$(ALL_STATICLIB_DIRS)
$(ALL_STATICLIB_DIRS) \
$(ALL_DLL_DIRS)
# Sub-directories to run make test into
TESTSUBDIRS = $(ALL_TEST_DIRS)
# Sub-directories that contain documentation
DOCSUBDIRS = $(ALL_DLL_DIRS)
# Sub-directories that don't have a makefile
EXTRASUBDIRS = libs
EXTRASUBDIRS = dlls libs
all: wine
@echo "Wine build complete."
@ -94,7 +100,7 @@ include/stamp-h: include/config.h.in config.status
# Installation rules
uninstall::
-rmdir $(DESTDIR)$(datadir)/wine
-rmdir $(DESTDIR)$(datadir)/wine $(DESTDIR)$(fakedlldir) $(DESTDIR)$(dlldir)
# Import libraries
@ -113,7 +119,7 @@ __builddeps__: libs/port libs/wine libs/wpp $(ALL_TOOL_DIRS) include $(ALL_STATI
__buildcrossdeps__: libs/port libs/wine $(ALL_TOOL_DIRS) include $(STATIC_LIBS:.a=.cross.a) $(IMPORT_LIBS:.def=.cross.a)
.PHONY: __builddeps__ __buildcrossdeps__
dlls programs: __builddeps__
programs: __builddeps__
loader server: libs/port libs/wine tools
fonts: tools
include: tools/widl
@ -123,7 +129,6 @@ tools/wmc tools/wrc: tools
tools tools/wmc tools/wrc: libs/wine
tools/widl tools/wmc tools/wrc: libs/wpp
dlls/__install__ dlls/__install-lib__ dlls/__install-dev__: __builddeps__
programs/__install__ programs/__install-lib__: __builddeps__
fonts/__install__ fonts/__install-lib__: tools
include/__install__ include/__install-dev__: include
@ -147,7 +152,6 @@ RECURSE_TARGETS = \
__uninstall__ \
__crosstest__
dlls $(RECURSE_TARGETS:%=dlls/%): $(MAKEDEP)
programs $(RECURSE_TARGETS:%=programs/%): $(MAKEDEP)
depend: $(MAKEDEP)
@ -184,7 +188,6 @@ $(ALL_CONFIGS):
.BEGIN: Makefile
.MAKEFILEDEPS:
dlls $(RECURSE_TARGETS:%=dlls/%): $(ALL_MAKEFILES)
programs $(RECURSE_TARGETS:%=programs/%): $(ALL_MAKEFILES)
distclean::

10
aclocal.m4 vendored
View File

@ -192,8 +192,8 @@ m4_if($1,$3,,[ \\
dlls/lib$3.$IMPLIBEXT])[]dnl
m4_ifval([$4],[ \\
dlls/$1/lib$3.$STATIC_IMPLIBEXT])"
ALL_MAKEFILE_DEPENDS="$ALL_MAKEFILE_DEPENDS
dlls/$1/lib$3.$IMPLIBEXT m4_ifval([$4],[dlls/$1/lib$3.$STATIC_IMPLIBEXT ])dlls/$1/lib$3.cross.a: tools/widl tools/winebuild tools/winegcc include
])ALL_MAKEFILE_DEPENDS="$ALL_MAKEFILE_DEPENDS
m4_ifval([$3],[dlls/$1/lib$3.$IMPLIBEXT m4_ifval([$4],[dlls/$1/lib$3.$STATIC_IMPLIBEXT ])dlls/$1/lib$3.cross.a: tools/widl tools/winebuild tools/winegcc include
m4_if($1,$3,,[dlls/lib$3.a: dlls/$1/lib$3.a
\$(RM) \$[@] && \$(LN_S) $1/lib$3.a \$[@]
dlls/lib$3.cross.a: dlls/$1/lib$3.cross.a
@ -207,9 +207,9 @@ clean::
dlls/$1/lib$3.$STATIC_IMPLIBEXT dlls/$1/lib$3.cross.a: dlls/$1/Makefile dummy
@cd dlls/$1 && \$(MAKE) \`basename \$[@]\`],
[dlls/$1/lib$3.$IMPLIBEXT dlls/$1/lib$3.cross.a: dlls/$1/$1.spec dlls/$1/Makefile
@cd dlls/$1 && \$(MAKE) \`basename \$[@]\`])"
])dnl
WINE_CONFIG_MAKEFILE([dlls/$1/Makefile],[dlls/Makedll.rules],[dlls],[ALL_DLL_DIRS],[$2])])
@cd dlls/$1 && \$(MAKE) \`basename \$[@]\`])
])dlls/$1 dlls/$1/__install__ dlls/$1/__install-lib__ dlls/$1/__install-dev__: __builddeps__"
WINE_CONFIG_MAKEFILE([dlls/$1/Makefile],[dlls/Makedll.rules],[],[ALL_DLL_DIRS],m4_default([$2],[enable_$1]))])
dnl **** Create a program makefile from config.status ****
dnl

1920
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -2140,7 +2140,6 @@ WINE_CONFIG_MAKERULES([dlls/Makeimplib.rules],[MAKE_IMPLIB_RULES],[Make.rules])
WINE_CONFIG_MAKERULES([programs/Makeprog.rules],[MAKE_PROG_RULES],[Make.rules])
WINE_CONFIG_MAKEFILE([Makefile],[Make.rules])
WINE_CONFIG_MAKEFILE([dlls/Makefile],[Make.rules],[],[ALL_TOP_DIRS])
WINE_CONFIG_DLL(acledit)
WINE_CONFIG_DLL(aclui,,[aclui])
WINE_CONFIG_DLL(activeds,,[activeds])

View File

@ -1,23 +0,0 @@
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ..
SRCDIR = @srcdir@
VPATH = @srcdir@
INSTALLDIRS = $(DESTDIR)$(dlldir)
DLLSUBDIRS = @ALL_DLL_DIRS@
SUBDIRS = $(DLLSUBDIRS)
BUILDSUBDIRS = $(DLLSUBDIRS)
INSTALLSUBDIRS = $(DLLSUBDIRS)
DOCSUBDIRS = $(DLLSUBDIRS)
@MAKE_RULES@
# Main target
all: $(BUILDSUBDIRS)
# Misc rules
uninstall::
-rmdir $(DESTDIR)$(fakedlldir) $(DESTDIR)$(dlldir)

View File

@ -9,16 +9,16 @@ INSTALLDIRS = man$(api_manext) html api-guide api-guide-xml $(DESTDIR)$(mandir)/
@MAKE_RULES@
manpages: man$(api_manext) dummy
@cd $(DLLDIR) && $(MAKE) man
@cd $(TOPOBJDIR) && $(MAKE) man
htmlpages: html dummy
@cd $(DLLDIR) && $(MAKE) doc-html
@cd $(TOPOBJDIR) && $(MAKE) doc-html
sgmlpages: api-guide dummy
@cd $(DLLDIR) && $(MAKE) doc-sgml
@cd $(TOPOBJDIR) && $(MAKE) doc-sgml
xmlpages: api-guide-xml dummy
@cd $(DLLDIR) && $(MAKE) doc-xml
@cd $(TOPOBJDIR) && $(MAKE) doc-xml
.PHONY: manpages htmlpages sgmlpages xmlpages install-man