• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Makefile for popt library.
2
3AUTOMAKE_OPTIONS = 1.4 foreign
4
5LINT =		splint
6MCCABE =	pmccabe
7
8EXTRA_DIST = config.rpath lookup3.c autogen.sh CHANGES $(man_MANS) \
9	m4/Makefile.in \
10	footer_no_timestamp.html libpopt.vers \
11	testit.sh test-poptrc \
12	popt.xcodeproj/project.pbxproj \
13	popt.ps
14
15SUBDIRS = po . auto
16
17AM_CPPFLAGS = -I. -I$(top_srcdir)
18
19noinst_HEADERS = poptint.h system.h
20
21noinst_PROGRAMS = test1 test2 tdict # test3
22test1_SOURCES = test1.c
23test1_LDFLAGS =
24test1_LDADD = $(usrlib_LTLIBRARIES)
25test2_SOURCES = test2.c
26test2_LDFLAGS =
27test2_LDADD = $(usrlib_LTLIBRARIES)
28#test3_SOURCES = test3.c
29#test3_LDFLAGS =
30#test3_LDADD = $(usrlib_LTLIBRARIES)
31tdict_SOURCES = tdict.c
32tdict_LDFLAGS =
33tdict_LDADD = $(usrlib_LTLIBRARIES)
34
35noinst_SCRIPTS = testit.sh
36
37TESTS_ENVIRONMENT = \
38test1="$(top_builddir)/test1"
39
40TESTS = $(top_srcdir)/testit.sh
41
42include_HEADERS = popt.h
43
44usrlibdir = $(libdir)
45usrlib_LTLIBRARIES = libpopt.la
46
47libpopt_la_SOURCES = popt.c poptparse.c poptconfig.c popthelp.c poptint.c
48libpopt_la_LDFLAGS = -no-undefined @LTLIBINTL@ @LTLIBICONV@
49
50pkgconfigdir = $(prefix)/lib/pkgconfig
51pkgconfig_DATA = popt.pc
52
53if HAVE_LD_VERSION_SCRIPT
54libpopt_la_LDFLAGS += -Wl,--version-script=$(top_srcdir)/libpopt.vers
55endif
56
57man_MANS = popt.3
58
59BUILT_SOURCES = popt.pc # popt.lcd
60
61distclean-local:
62	rm -rf .ccache
63
64.PHONY:	updatepo
65updatepo:
66	rsync -Lrtvz  translationproject.org::tp/latest/popt/  po
67
68popt.lcd: Makefile.am ${libpopt_la_SOURCES} ${include_HEADERS} ${noinst_HEADERS}
69	lclint -dump $@ ${libpopt_la_SOURCES}
70
71.PHONY:	sources
72sources:
73	@echo $(libpopt_la_SOURCES:%=popt/%)
74
75.PHONY: lint
76lint:
77	$(LINT) ${DEFS} ${INCLUDES} test1.c ${libpopt_la_SOURCES}
78
79.PHONY:	mccabe
80mccabe:
81	$(MCCABE) $(libpopt_la_SOURCES) | sort -n -r | head -n 10
82
83.PHONY: doxygen
84doxygen: Doxyfile
85	rm -rf doxygen
86	mkdir -p doxygen
87	doxygen
88
89.PHONY:	lcov-reset	# run lcov from scratch, always
90lcov-reset:
91	make lcov-run
92	make lcov-report
93
94.PHONY:	lcov		# run lcov from scratch if the dir is not there
95lcov:
96	make lcov-reset
97
98.PHONY:	lcov-run	# reset run coverage tests
99lcov-run:
100	@-rm -rf lcov
101	find . -name "*.gcda" -exec rm {} \;
102	make check
103
104.PHONY:	lcov-report	# generate report based on current coverage data
105lcov-report:
106	mkdir lcov
107	lcov --directory . --capture --output-file lcov/lcov.info
108	lcov -l lcov/lcov.info | grep -v "`cd $(top_srcdir) && pwd`" | cut -d: -f1 > lcov/remove
109	lcov -r lcov/lcov.info `cat lcov/remove` > lcov/lcov.cleaned.info
110	rm lcov/remove
111	mv lcov/lcov.cleaned.info lcov/lcov.info
112	genhtml -t "$(PACKAGE_STRING)" -o lcov lcov/lcov.info
113
114#.PHONY:	lcov-upload
115#lcov-upload: lcov
116#	rsync -rvz -e ssh --delete lcov/* ???
117
118ACLOCAL_AMFLAGS = -I m4
119