Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
93f03393
Commit
93f03393
authored
Feb 10, 2010
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
makefiles: Move all the recursion rules to the top-level makefile.
parent
52c400e9
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
116 additions
and
124 deletions
+116
-124
Make.rules.in
Make.rules.in
+7
-75
Makefile.in
Makefile.in
+104
-31
Maketest.rules.in
Maketest.rules.in
+2
-0
Makedll.rules.in
dlls/Makedll.rules.in
+3
-11
Makeprog.rules.in
programs/Makeprog.rules.in
+0
-7
No files found.
Make.rules.in
View file @
93f03393
...
...
@@ -13,9 +13,7 @@
# EXTRA_OBJS : extra object files
# IMPORTS : dlls to import
# DELAYIMPORTS : dlls to import in delayed mode
# SUBDIRS : subdirectories that contain a Makefile
# EXTRASUBDIRS : subdirectories that do not contain a Makefile
# INSTALLSUBDIRS : subdirectories to run make install/uninstall into
# MODCFLAGS : extra CFLAGS for this module
# First some useful definitions
...
...
@@ -229,92 +227,29 @@ DEPEND_SRCS = $(C_SRCS) $(RC_SRCS) $(MC_SRCS) \
$(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS) $(IDL_TLB_SRCS:.idl=.tlb) \
$(BISON_SRCS) $(LEX_SRCS) $(EXTRA_SRCS)
$(SUBDIRS:%=%/__depend__): dummy
@cd `dirname $@` && $(MAKE) depend
depend: $(SUBDIRS:%=%/__depend__) dummy
depend: dummy
$(MAKEDEP) $(MAKEDEPFLAGS) -C$(SRCDIR) -S$(TOPSRCDIR) -T$(TOPOBJDIR) $(EXTRAINCL) $(DEPEND_SRCS)
.PHONY: depend
$(SUBDIRS:%=%/__depend__)
.PHONY: depend
# Rules for cleaning
$(SUBDIRS:%=%/__clean__): dummy
@cd `dirname $@` && $(MAKE) clean
$(EXTRASUBDIRS:%=%/__clean__): dummy
-cd `dirname $@` && $(RM) $(CLEAN_FILES)
clean:: $(
SUBDIRS:%=%/__clean__) $(
EXTRASUBDIRS:%=%/__clean__)
clean:: $(EXTRASUBDIRS:%=%/__clean__)
$(RM) $(CLEAN_FILES) $(CLEAN_TARGETS) $(PROGRAMS) $(MANPAGES)
.PHONY: clean $(
SUBDIRS:%=%/__clean__) $(
EXTRASUBDIRS:%=%/__clean__)
.PHONY: clean $(EXTRASUBDIRS:%=%/__clean__)
# Rules for installing
$(SUBDIRS:%=%/__install__): dummy
@cd `dirname $@` && $(MAKE) install
$(SUBDIRS:%=%/__install-lib__): dummy
@cd `dirname $@` && $(MAKE) install-lib
$(SUBDIRS:%=%/__install-dev__): dummy
@cd `dirname $@` && $(MAKE) install-dev
$(SUBDIRS:%=%/__uninstall__): dummy
@cd `dirname $@` && $(MAKE) uninstall
install:: $(INSTALLSUBDIRS:%=%/__install__) dummy
install-lib:: $(INSTALLSUBDIRS:%=%/__install-lib__) dummy
install-dev:: $(INSTALLSUBDIRS:%=%/__install-dev__) dummy
uninstall:: $(INSTALLSUBDIRS:%=%/__uninstall__) dummy
$(INSTALLDIRS):
$(MKINSTALLDIRS) $@
.PHONY: install install-lib install-dev uninstall \
$(SUBDIRS:%=%/__install__) $(SUBDIRS:%=%/__uninstall__) \
$(SUBDIRS:%=%/__install-lib__) $(SUBDIRS:%=%/__install-dev__)
# Rules for testing
$(TESTSUBDIRS:%=%/__test__): dummy
@cd `dirname $@` && $(MAKE) test
$(TESTSUBDIRS:%=%/__crosstest__): dummy
@cd `dirname $@` && $(MAKE) crosstest
$(TESTSUBDIRS:%=%/__testclean__): dummy
@cd `dirname $@` && $(MAKE) testclean
install install-lib install-dev uninstall::
check test:: $(TESTSUBDIRS:%=%/__test__) dummy
crosstest:: $(TESTSUBDIRS:%=%/__crosstest__) dummy
testclean:: $(TESTSUBDIRS:%=%/__testclean__) dummy
.PHONY: check test testclean crosstest $(TESTSUBDIRS:%=%/__test__) $(TESTSUBDIRS:%=%/__crosstest__) $(TESTSUBDIRS:%=%/__testclean__)
# Rules for auto documentation
$(DOCSUBDIRS:%=%/__man__): dummy
@cd `dirname $@` && $(MAKE) man
$(DOCSUBDIRS:%=%/__doc_html__): dummy
@cd `dirname $@` && $(MAKE) doc-html
$(DOCSUBDIRS:%=%/__doc_sgml__): dummy
@cd `dirname $@` && $(MAKE) doc-sgml
$(DOCSUBDIRS:%=%/__doc_xml__): dummy
@cd `dirname $@` && $(MAKE) doc-xml
man: $(DOCSUBDIRS:%=%/__man__)
doc-html: $(DOCSUBDIRS:%=%/__doc_html__)
doc-sgml: $(DOCSUBDIRS:%=%/__doc_sgml__)
doc-xml: $(DOCSUBDIRS:%=%/__doc_xml__)
.PHONY: man doc-html doc-sgml doc-xml $(DOCSUBDIRS:%=%/__man__) $(DOCSUBDIRS:%=%/__doc_html__) $(DOCSUBDIRS:%=%/__doc_sgml__) $(DOCSUBDIRS:%=%/__doc_xml__)
.PHONY: install install-lib install-dev uninstall
# Misc. rules
...
...
@@ -324,11 +259,8 @@ $(IDL_GEN_HEADERS) $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS:.idl=.tlb): $(WIDL)
$(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.mc.res): $(WRC)
$(SUBDIRS): dummy
@cd $@ && $(MAKE)
dummy:
.PHONY: dummy
$(SUBDIRS)
.PHONY: dummy
# End of global rules
Makefile.in
View file @
93f03393
...
...
@@ -36,9 +36,6 @@ ALL_TEST_DIRS = @ALL_TEST_DIRS@
ALL_TOOL_DIRS
=
@ALL_TOOL_DIRS@
ALL_TOP_DIRS
=
@ALL_TOP_DIRS@
# Sub-directories to run make depend/clean into
SUBDIRS
=
$(ALL_DIRS)
# Sub-directories to run make all into
BUILDSUBDIRS
=
\
libs/wine
\
...
...
@@ -58,12 +55,6 @@ INSTALLSUBDIRS = \
$(ALL_DLL_DIRS)
\
$(ALL_INSTALL_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
=
dlls libs
...
...
@@ -74,6 +65,10 @@ WINAPI_CHECK_EXTRA_FLAGS = --global
@MAKE_RULES@
# Rules for re-running configure
ALL_CONFIGS
=
Makefile
$
(
ALL_DIRS:%
=
%/Makefile
)
@ALL_MAKERULES@ @ALL_SYMLINKS@
$(SRCDIR)/configure
:
@MAINTAINER_MODE@ configure.ac aclocal.m4
cd
$(SRCDIR)
&&
autoconf
--warnings
=
all
...
...
@@ -89,12 +84,110 @@ include/config.h: include/stamp-h
include/stamp-h
:
include/config.h.in config.status
@
./config.status include/config.h include/stamp-h
# Installation rules
$(ALL_CONFIGS)
:
@
./config.status
$@
# Rules for building
all
:
$(BUILDSUBDIRS)
$(ALL_DIRS)
:
dummy
@
cd
$@
&&
$(MAKE)
.PHONY
:
$(ALL_DIRS)
# Rules for dependencies
$(ALL_DIRS
:
%=%/__depend__): dummy
@
cd
`
dirname
$@
`
&&
$(MAKE)
depend
depend
:
$(MAKEDEP) $(ALL_DIRS:%=%/__depend__) dummy
.PHONY
:
$(ALL_DIRS:%=%/__depend__)
# Rules for cleaning
$(ALL_DIRS
:
%=%/__clean__): dummy
@
cd
`
dirname
$@
`
&&
$(MAKE)
clean
clean
::
$(ALL_DIRS:%=%/__clean__)
distclean
::
clean
$(RM)
config.
*
configure.lineno TAGS tags include/config.h include/stamp-h
$(ALL_CONFIGS)
$(RM)
-r
autom4te.cache
.PHONY
:
distclean $(ALL_DIRS:%=%/__clean__)
# Rules for installing
$(INSTALLSUBDIRS
:
%=%/__install__): dummy
@
cd
`
dirname
$@
`
&&
$(MAKE)
install
$(INSTALLSUBDIRS
:
%=%/__install-lib__): dummy
@
cd
`
dirname
$@
`
&&
$(MAKE)
install-lib
$(INSTALLSUBDIRS
:
%=%/__install-dev__): dummy
@
cd
`
dirname
$@
`
&&
$(MAKE)
install-dev
$(INSTALLSUBDIRS
:
%=%/__uninstall__): dummy
@
cd
`
dirname
$@
`
&&
$(MAKE)
uninstall
install
::
$(INSTALLSUBDIRS:%=%/__install__) dummy
install-lib
::
$(INSTALLSUBDIRS:%=%/__install-lib__) dummy
install-dev
::
$(INSTALLSUBDIRS:%=%/__install-dev__) dummy
uninstall
::
$(INSTALLSUBDIRS:%=%/__uninstall__) dummy
.PHONY
:
$(INSTALLSUBDIRS:%=%/__install__) $(INSTALLSUBDIRS:%=%/__uninstall__)
\
$(INSTALLSUBDIRS:%=%/__install-lib__) $(INSTALLSUBDIRS:%=%/__install-dev__)
uninstall
::
-
rmdir
$(DESTDIR)$(datadir)
/wine
$(DESTDIR)$(fakedlldir)
$(DESTDIR)$(dlldir)
# Import libraries
# Rules for testing
$(ALL_TEST_DIRS
:
%=%/__test__): dummy
@
cd
`
dirname
$@
`
&&
$(MAKE)
test
$(ALL_TEST_DIRS
:
%=%/__crosstest__): dummy
@
cd
`
dirname
$@
`
&&
$(MAKE)
crosstest
$(ALL_TEST_DIRS
:
%=%/__testclean__): dummy
@
cd
`
dirname
$@
`
&&
$(MAKE)
testclean
check test
::
$(ALL_TEST_DIRS:%=%/__test__)
crosstest
::
$(ALL_TEST_DIRS:%=%/__crosstest__)
testclean
::
$(ALL_TEST_DIRS:%=%/__testclean__)
.PHONY
:
check test testclean crosstest $(ALL_TEST_DIRS:%=%/__test__)
\
$(ALL_TEST_DIRS:%=%/__crosstest__) $(ALL_TEST_DIRS:%=%/__testclean__)
# Rules for auto documentation
DOCSUBDIRS
=
$(ALL_DLL_DIRS)
$(DOCSUBDIRS
:
%=%/__man__): dummy
@
cd
`
dirname
$@
`
&&
$(MAKE)
man
$(DOCSUBDIRS
:
%=%/__doc_html__): dummy
@
cd
`
dirname
$@
`
&&
$(MAKE)
doc-html
$(DOCSUBDIRS
:
%=%/__doc_sgml__): dummy
@
cd
`
dirname
$@
`
&&
$(MAKE)
doc-sgml
$(DOCSUBDIRS
:
%=%/__doc_xml__): dummy
@
cd
`
dirname
$@
`
&&
$(MAKE)
doc-xml
man
:
$(DOCSUBDIRS:%=%/__man__)
doc-html
:
$(DOCSUBDIRS:%=%/__doc_html__)
doc-sgml
:
$(DOCSUBDIRS:%=%/__doc_sgml__)
doc-xml
:
$(DOCSUBDIRS:%=%/__doc_xml__)
manpages htmlpages sgmlpages xmlpages
:
dummy
@
cd
documentation
&&
$(MAKE)
$@
.PHONY
:
man doc-html doc-sgml doc-xml manpages htmlpages sgmlpages xmlpages
\
$(DOCSUBDIRS:%=%/__man__) $(DOCSUBDIRS:%=%/__doc_html__) $(DOCSUBDIRS:%=%/__doc_sgml__) $(DOCSUBDIRS:%=%/__doc_xml__)
# Rules for import libraries
STATIC_LIBS
=
@ALL_STATIC_LIBS@
IMPORT_LIBS
=
@ALL_IMPORT_LIBS@
...
...
@@ -104,8 +197,6 @@ implib: $(ALL_STATICLIB_DIRS) $(IMPORT_LIBS)
# Dependencies between directories
all
:
$(BUILDSUBDIRS)
# dependencies needed to build any dll or program
__builddeps__
:
libs/port libs/wine libs/wpp $(ALL_TOOL_DIRS) include $(ALL_STATICLIB_DIRS) $(IMPORT_LIBS)
__buildcrossdeps__
:
libs/port libs/wine $(ALL_TOOL_DIRS) include $(STATIC_LIBS:.a=.cross.a) $(IMPORT_LIBS:.def=.cross.a)
...
...
@@ -142,8 +233,6 @@ RECURSE_TARGETS = \
__uninstall__
\
__crosstest__
depend
:
$(MAKEDEP)
$(MAKEDEP)
:
include/config.h tools/Makefile
@
cd
$(TOOLSDIR)
/tools
&&
$(MAKE)
makedep
$(TOOLSEXT)
...
...
@@ -157,26 +246,10 @@ tags ctags:
$(RM)
tags
(
test
-d
.git
&&
git ls-files
'*.[chly]'
'*.idl'
||
find
-L
$(TOPSRCDIR)
-name
'*.[ch]'
-print
)
| xargs ctags
-a
manpages htmlpages sgmlpages xmlpages
:
dummy
@
cd
documentation
&&
$(MAKE)
$@
distclean
::
clean
$(RM)
config.
*
configure.lineno TAGS tags include/config.h include/stamp-h
$(RM)
-r
autom4te.cache
.PHONY
:
manpages htmlpages sgmlpages xmlpages distclean
# Makefile rules
ALL_CONFIGS
=
Makefile
$
(
ALL_DIRS:%
=
%/Makefile
)
@ALL_MAKERULES@ @ALL_SYMLINKS@
$(ALL_CONFIGS)
:
@
./config.status
$@
.INIT
:
Makefile
.BEGIN
:
Makefile
.MAKEFILEDEPS
:
distclean
::
$(RM)
$(ALL_CONFIGS)
@ALL_MAKEFILE_DEPENDS@
Maketest.rules.in
View file @
93f03393
...
...
@@ -31,6 +31,8 @@ all: $(TESTPROGRAM)
$(MODULE) $(MODULE).so: $(OBJS) Makefile.in
$(WINEGCC) $(APPMODE) $(OBJS) -o $@ $(LIBPORT) $(ALL_LIBS)
.PHONY: check test testclean crosstest
# Rules for building test list
testlist.c: Makefile.in $(MAKECTESTS)
...
...
dlls/Makedll.rules.in
View file @
93f03393
...
...
@@ -21,7 +21,7 @@ INSTALLDIRS = $(DESTDIR)$(dlldir) $(DESTDIR)$(fakedlldir) $(DESTDIR)$(datadir)/w
@MAKE_RULES@
all: $(MODULE)$(DLLEXT) $(MODULE)$(FAKEEXT)
$(SUBDIRS)
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)
...
...
@@ -30,9 +30,9 @@ $(MODULE) $(MODULE).so $(MODULE).fake: $(MAINSPEC) $(OBJS) Makefile.in
IMPLIB_CROSSOBJS = $(IMPLIB_OBJS:.o=.cross.o)
.PHONY:
implib
$(IMPLIB_SRCS:%=__static_implib__%)
.PHONY: $(IMPLIB_SRCS:%=__static_implib__%)
all
implib
: $(IMPORTLIBFILE) $(IMPLIB_SRCS:%=__static_implib__%)
all: $(IMPORTLIBFILE) $(IMPLIB_SRCS:%=__static_implib__%)
$(IMPLIB_SRCS:%=__static_implib__%): $(STATICIMPLIB)
...
...
@@ -50,14 +50,6 @@ $(IMPORTLIB:%=lib%.a): $(MAINSPEC) $(IMPLIB_OBJS)
$(IMPORTLIB:%=lib%.cross.a): $(MAINSPEC) $(IMPLIB_CROSSOBJS)
$(WINEBUILD) $(IMPLIBFLAGS) $(CROSSTARGET:%=-b %) -w --implib -o $@ --export $(SRCDIR)/$(MAINSPEC) $(IMPLIB_CROSSOBJS)
$(SUBDIRS): implib
# Rules for testing
check test:: $(SUBDIRS:%=%/__test__) dummy
crosstest:: $(SUBDIRS:%=%/__crosstest__) dummy
# Rules for auto documentation
man: $(C_SRCS) dummy
...
...
programs/Makeprog.rules.in
View file @
93f03393
...
...
@@ -12,7 +12,6 @@
DLLFLAGS = @DLLFLAGS@
DEFS = -DWINE_STRICT_PROTOTYPES $(EXTRADEFS)
ALL_LIBS = $(DELAYIMPORTS:%=-l%) $(IMPORTS:%=-l%) $(EXTRALIBS) -lwine $(LIBPORT) $(LDFLAGS) $(LIBS)
RUNTESTFLAGS= -q -P wine -T $(TOPOBJDIR)
INSTALLDIRS = $(DESTDIR)$(bindir) $(DESTDIR)$(dlldir) $(DESTDIR)$(fakedlldir) $(DESTDIR)$(mandir)/man$(prog_manext)
@MAKE_RULES@
...
...
@@ -22,12 +21,6 @@ all: $(MODULE)$(DLLEXT) $(MODULE)$(FAKEEXT)
$(MODULE) $(MODULE).so $(MODULE).fake: $(OBJS) Makefile.in
$(WINEGCC) $(APPMODE) $(OBJS) -o $@ $(ALL_LIBS) $(DELAYIMPORTS:%=-Wb,-d%)
# Rules for testing
check test:: $(SUBDIRS:%=%/__test__) dummy
$(TESTRESULTS): $(MODULE)$(DLLEXT)
# Rules for installation
.PHONY: install_prog install_prog.so install_prog.fake
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment