Alexandre Julliard : makefiles: Generate distclean rules from makedep.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Jan 11 08:22:28 CST 2016
Module: wine
Branch: master
Commit: ba416a57810ca4571968ff9fef6808f5ca88d99e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ba416a57810ca4571968ff9fef6808f5ca88d99e
Author: Alexandre Julliard <julliard at winehq.org>
Date: Mon Jan 11 18:41:18 2016 +0900
makefiles: Generate distclean rules from makedep.
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
aclocal.m4 | 15 ++-------------
configure | 15 ++-------------
tools/makedep.c | 18 ++++++++++++++++++
3 files changed, 22 insertions(+), 26 deletions(-)
diff --git a/aclocal.m4 b/aclocal.m4
index 406f3b4..7fa79ff 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -302,11 +302,6 @@ install-dev:: $ac_dir/install-dev"
wine_fn_clean_rules ()
{
ac_clean=$[@]
- ac_extraclean="$ac_dir/Makefile"
- test "$srcdir" = . && ac_extraclean="$ac_extraclean $ac_dir/.gitignore"
- case $ac_dir in
- */tests) ac_extraclean="$ac_extraclean $ac_dir/testlist.c" ;;
- esac
if wine_fn_has_flag clean
then
@@ -320,24 +315,18 @@ wine_fn_clean_rules ()
fi
wine_fn_append_rule \
"__clean__: $ac_dir/clean
-.PHONY: $ac_dir/clean
-distclean::
- \$(RM) $ac_extraclean"
+.PHONY: $ac_dir/clean"
}
wine_fn_disabled_rules ()
{
ac_clean=$[@]
- ac_extraclean="$ac_dir/Makefile"
- test "$srcdir" = . && ac_extraclean="$ac_extraclean $ac_dir/.gitignore"
wine_fn_append_rule \
"__clean__: $ac_dir/clean
.PHONY: $ac_dir/clean
$ac_dir/clean: dummy
- \$(RM) \$(CLEAN_FILES:%=$ac_dir/%) $ac_clean
-distclean::
- \$(RM) $ac_extraclean"
+ \$(RM) \$(CLEAN_FILES:%=$ac_dir/%) $ac_clean"
}
wine_fn_config_makefile ()
diff --git a/configure b/configure
index 4100005..7ed6963 100755
--- a/configure
+++ b/configure
@@ -7497,11 +7497,6 @@ install-dev:: $ac_dir/install-dev"
wine_fn_clean_rules ()
{
ac_clean=$@
- ac_extraclean="$ac_dir/Makefile"
- test "$srcdir" = . && ac_extraclean="$ac_extraclean $ac_dir/.gitignore"
- case $ac_dir in
- */tests) ac_extraclean="$ac_extraclean $ac_dir/testlist.c" ;;
- esac
if wine_fn_has_flag clean
then
@@ -7515,24 +7510,18 @@ wine_fn_clean_rules ()
fi
wine_fn_append_rule \
"__clean__: $ac_dir/clean
-.PHONY: $ac_dir/clean
-distclean::
- \$(RM) $ac_extraclean"
+.PHONY: $ac_dir/clean"
}
wine_fn_disabled_rules ()
{
ac_clean=$@
- ac_extraclean="$ac_dir/Makefile"
- test "$srcdir" = . && ac_extraclean="$ac_extraclean $ac_dir/.gitignore"
wine_fn_append_rule \
"__clean__: $ac_dir/clean
.PHONY: $ac_dir/clean
$ac_dir/clean: dummy
- \$(RM) \$(CLEAN_FILES:%=$ac_dir/%) $ac_clean
-distclean::
- \$(RM) $ac_extraclean"
+ \$(RM) \$(CLEAN_FILES:%=$ac_dir/%) $ac_clean"
}
wine_fn_config_makefile ()
diff --git a/tools/makedep.c b/tools/makedep.c
index fd661b2..d46c715 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -2843,6 +2843,24 @@ static struct strarray output_sources( const struct makefile *make )
strarray_add( &phony_targets, obj_dir_path( make, "clean" ));
}
+ if (make->subdirs.count)
+ {
+ struct strarray distclean_files = empty_strarray;
+ for (i = 0; i < make->subdirs.count; i++)
+ {
+ strarray_add( &distclean_files, base_dir_path( make->submakes[i], output_makefile_name ));
+ if (!make->src_dir)
+ strarray_add( &distclean_files, base_dir_path( make->submakes[i], ".gitignore" ));
+ if (make->submakes[i]->testdll)
+ strarray_add( &distclean_files, base_dir_path( make->submakes[i], "testlist.c" ));
+ }
+ output( "distclean::\n");
+ output( "\trm -f" );
+ output_filenames( distclean_files );
+ output( "\n" );
+ strarray_add( &phony_targets, "distclean" );
+ }
+
if (phony_targets.count)
{
output( ".PHONY:" );
More information about the wine-cvs
mailing list