summaryrefslogtreecommitdiff
path: root/ltp_framework/include/mk/gitignore.mk
blob: b9932fb917c962520333ee7b2752385d8db8d710 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#
#    gitignore generation include Makefile.
#
#    Copyright (C) 2011, Linux Test Project.
#
#    This program is free software; you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation; either version 2 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License along
#    with this program; if not, write to the Free Software Foundation, Inc.,
#    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Garrett Cooper, January 2011
#

CLEAN_TARGETS+=		gitignore_clean

BEFORE:=		.gitignore-before

AFTER:=			.gitignore-after

IGNORE_DIR_EXPR:=	egrep -v "^$$(echo "$(AUTOCONFED_SUBDIRS)" | tr " " "|")"

# NOTE: The underscore is used in place of a dash to avoid implicit rule
# evaluation in top-level Makefile.
.PHONY: gitignore_clean
gitignore_clean:
	$(RM) -f $(BEFORE) $(AFTER) 

$(BEFORE):
	$(MAKE) distclean
	$(MAKE) ac-maintainer-clean
	find . | $(IGNORE_DIR_EXPR) > $@

$(AFTER):
	$(MAKE) autotools
	./configure --prefix=/dev/null
	$(MAKE) all
	find . | $(IGNORE_DIR_EXPR) > $@
	# Set everything in autoconf land back to a sane state.
	$(MAKE) distclean

.gitignore: | $(BEFORE) $(AFTER) 
	diff -u $(BEFORE) $(AFTER) | grep '^+' | sed -e 's,^\+,,g' > $@