Makefile.am revision 3acf4035ea020f54a5fcfd203952e04c4dad48c3
1# Automake input for strace.
2
3SUBDIRS = tests
4
5bin_PROGRAMS = strace
6man_MANS = strace.1
7bin_SCRIPTS = strace-graph strace-log-merge
8
9OS		= linux
10# ARCH is `i386', `m68k', `sparc', etc.
11ARCH		= @arch@
12
13ACLOCAL_AMFLAGS = -I m4
14AM_CFLAGS = $(WARN_CFLAGS)
15AM_CPPFLAGS = -I$(srcdir)/$(OS)/$(ARCH) -I$(srcdir)/$(OS) -I$(builddir)/$(OS)
16
17strace_SOURCES =	\
18	aio.c		\
19	bjm.c		\
20	block.c		\
21	count.c		\
22	desc.c		\
23	fanotify.c	\
24	file.c		\
25	inotify.c	\
26	io.c		\
27	ioctl.c		\
28	ioprio.c	\
29	ipc.c		\
30	kexec.c		\
31	keyctl.c	\
32	loop.c		\
33	mem.c		\
34	mtd.c		\
35	net.c		\
36	pathtrace.c	\
37	process.c	\
38	ptp.c		\
39	quota.c		\
40	reboot.c	\
41	resource.c	\
42	scsi.c		\
43	signal.c	\
44	sock.c		\
45	strace.c	\
46	stream.c	\
47	syscall.c	\
48	system.c	\
49	term.c		\
50	time.c		\
51	util.c		\
52	vsprintf.c
53
54noinst_HEADERS = defs.h
55# Enable this to get link map generated
56#strace_CFLAGS = $(AM_CFLAGS) -Wl,-Map=strace.mapfile
57
58EXTRA_DIST =				\
59	$(man_MANS)			\
60	.version			\
61	COPYING				\
62	CREDITS				\
63	ChangeLog			\
64	ChangeLog-CVS			\
65	README-linux			\
66	README-linux-ptrace		\
67	debian/changelog		\
68	debian/compat			\
69	debian/control			\
70	debian/copyright		\
71	debian/rules			\
72	debian/source/format		\
73	debian/strace-udeb.install	\
74	debian/strace.docs		\
75	debian/strace.examples		\
76	debian/strace.install		\
77	debian/strace.manpages		\
78	debian/strace64.install		\
79	debian/strace64.manpages	\
80	debian/watch			\
81	errnoent.sh			\
82	ioctlsort.c			\
83	linux/aarch64/errnoent1.h	\
84	linux/aarch64/ioctlent.h.in	\
85	linux/aarch64/ioctlent1.h	\
86	linux/aarch64/signalent1.h	\
87	linux/aarch64/syscallent.h	\
88	linux/aarch64/syscallent1.h	\
89	linux/alpha/errnoent.h		\
90	linux/alpha/ioctlent.h.in	\
91	linux/alpha/signalent.h		\
92	linux/alpha/syscallent.h	\
93	linux/arc/ioctlent.h.in		\
94	linux/arc/syscallent.h		\
95	linux/arm/ioctlent.h.in		\
96	linux/arm/syscallent.h		\
97	linux/avr32/ioctlent.h.in	\
98	linux/avr32/syscallent.h	\
99	linux/bfin/ioctlent.h.in	\
100	linux/bfin/syscallent.h		\
101	linux/dummy.h			\
102	linux/errnoent.h		\
103	linux/fanotify.h		\
104	linux/hppa/errnoent.h		\
105	linux/hppa/ioctlent.h.in	\
106	linux/hppa/signalent.h		\
107	linux/hppa/syscallent.h		\
108	linux/i386/ioctlent.h.in	\
109	linux/i386/syscallent.h		\
110	linux/ia64/ioctlent.h.in	\
111	linux/ia64/signalent.h		\
112	linux/ia64/syscallent.h		\
113	linux/inotify.h			\
114	linux/ioctlent-filter.awk	\
115	linux/ioctlent.h.in		\
116	linux/ioctlent.sh		\
117	linux/ioctlsort.c		\
118	linux/kexec.h			\
119	linux/keyctl.h			\
120	linux/m68k/ioctlent.h.in	\
121	linux/m68k/syscallent.h		\
122	linux/metag/ioctlent.h.in	\
123	linux/metag/syscallent.h	\
124	linux/microblaze/ioctlent.h.in	\
125	linux/microblaze/syscallent.h	\
126	linux/mips/errnoent.h		\
127	linux/mips/ioctlent.h.in	\
128	linux/mips/ioctlent.sh		\
129	linux/mips/signalent.h		\
130	linux/mips/syscallent-compat.h	\
131	linux/mips/syscallent-n32.h	\
132	linux/mips/syscallent-n64.h	\
133	linux/mips/syscallent-o32.h	\
134	linux/mips/syscallent.h		\
135	linux/mtd-abi.h			\
136	linux/or1k/ioctlent.h.in	\
137	linux/or1k/syscallent.h		\
138	linux/personality.h		\
139	linux/powerpc/errnoent1.h	\
140	linux/powerpc/ioctlent.h.in	\
141	linux/powerpc/ioctlent1.h	\
142	linux/powerpc/signalent1.h	\
143	linux/powerpc/syscallent.h	\
144	linux/powerpc/syscallent1.h	\
145	linux/ptp_clock.h		\
146	linux/reboot.h			\
147	linux/s390/ioctlent.h.in	\
148	linux/s390/syscallent.h		\
149	linux/s390x/ioctlent.h.in	\
150	linux/s390x/syscallent.h	\
151	linux/sh/ioctlent.h.in		\
152	linux/sh/syscallent.h		\
153	linux/sh64/ioctlent.h.in	\
154	linux/sh64/syscallent.h		\
155	linux/signalent.h		\
156	linux/sparc/dummy2.h		\
157	linux/sparc/errnoent.h		\
158	linux/sparc/errnoent1.h		\
159	linux/sparc/gen.pl		\
160	linux/sparc/ioctlent.h.in	\
161	linux/sparc/ioctlent1.h		\
162	linux/sparc/signalent.h		\
163	linux/sparc/signalent1.h	\
164	linux/sparc/syscall1.h		\
165	linux/sparc/syscallent.h	\
166	linux/sparc/syscallent1.h	\
167	linux/sparc64/dummy2.h		\
168	linux/sparc64/errnoent.h	\
169	linux/sparc64/errnoent1.h	\
170	linux/sparc64/errnoent2.h	\
171	linux/sparc64/ioctlent.h.in	\
172	linux/sparc64/ioctlent1.h	\
173	linux/sparc64/ioctlent2.h	\
174	linux/sparc64/signalent.h	\
175	linux/sparc64/signalent1.h	\
176	linux/sparc64/signalent2.h	\
177	linux/sparc64/syscall1.h	\
178	linux/sparc64/syscallent.h	\
179	linux/sparc64/syscallent1.h	\
180	linux/sparc64/syscallent2.h	\
181	linux/subcall.h			\
182	linux/syscall.h			\
183	linux/tile/errnoent1.h		\
184	linux/tile/ioctlent.h.in	\
185	linux/tile/ioctlent1.h		\
186	linux/tile/signalent1.h		\
187	linux/tile/syscallent.h		\
188	linux/tile/syscallent1.h	\
189	linux/ubi-user.h		\
190	linux/x32/errnoent.h		\
191	linux/x32/errnoent1.h		\
192	linux/x32/ioctlent.h.in		\
193	linux/x32/ioctlent1.h		\
194	linux/x32/signalent.h		\
195	linux/x32/signalent1.h		\
196	linux/x32/syscallent.h		\
197	linux/x32/syscallent1.h		\
198	linux/x86_64/errnoent1.h	\
199	linux/x86_64/errnoent2.h	\
200	linux/x86_64/gentab.pl		\
201	linux/x86_64/ioctlent.h.in	\
202	linux/x86_64/ioctlent1.h	\
203	linux/x86_64/ioctlent2.h	\
204	linux/x86_64/signalent1.h	\
205	linux/x86_64/signalent2.h	\
206	linux/x86_64/syscallent.h	\
207	linux/x86_64/syscallent1.h	\
208	linux/x86_64/syscallent2.h	\
209	linux/xtensa/ioctlent.h.in	\
210	linux/xtensa/syscallent.h	\
211	signalent.sh			\
212	strace-graph			\
213	strace-log-merge		\
214	strace.spec			\
215	syscallent.sh			\
216	xlate.el
217
218.PHONY: srpm
219srpm: dist-xz
220	rpmbuild --define '%_srcrpmdir .' -ts $(distdir).tar.xz
221
222BUILT_SOURCES = .version
223
224$(srcdir)/.version:
225	$(AM_V_GEN)echo $(VERSION) > $@-t && mv $@-t $@
226
227dist-hook:
228	$(AM_V_GEN)echo $(VERSION) > $(distdir)/.tarball-version
229
230today = $(shell date +%Y-%m-%d)
231version_regexp = $(subst .,\.,$(VERSION))
232news_check_regexp = 'Noteworthy changes in release $(version_regexp) ($(today))'
233
234news-check: NEWS
235	$(AM_V_GEN)if head -1 $< |				\
236	  grep -x $(news_check_regexp) >/dev/null; then		\
237		:;						\
238	else							\
239		echo >&2 '$<: check failed';			\
240		exit 1;						\
241	fi
242
243if MAINTAINER_MODE
244
245gen_changelog_start_date = 2009-07-08 20:00
246$(srcdir)/ChangeLog: $(srcdir)/gitlog-to-changelog $(srcdir)/Makefile.in \
247		     $(srcdir)/.version
248	@rm -f $@.new
249	(cd $(srcdir); \
250	 ./gitlog-to-changelog --append-dot \
251	   --since='$(gen_changelog_start_date)'; \
252	 echo; echo; echo 'See ChangeLog-CVS for older changes.' \
253	) > $@.new
254	chmod 444 $@.new
255	mv -f $@.new $@
256
257$(srcdir)/CREDITS: $(srcdir)/CREDITS.in $(srcdir)/.mailmap \
258		   $(srcdir)/Makefile.in $(srcdir)/.version
259	$(AM_V_GEN)							\
260	{								\
261	  cd $(srcdir);							\
262	  sed '/^##/,$$d' CREDITS.in;					\
263	  { sed -n '1,/^##>/d; s/  \+/\t/; s/^./&/p' CREDITS.in;	\
264	    git log --pretty=format:'%aN	%aE';			\
265	  } | LC_ALL=C sort -u						\
266	    | awk -F'\t' '{printf("\t%s <%s>\n",$$1,$$2)}';		\
267	} > $@-t && mv $@-t $@
268
269export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner --mode=go-w,go+rX
270
271IOCTLDIR = /usr/include
272IOCTLASM = asm
273IOCTLSORT_INCLUDEDIR = $(IOCTLDIR)
274
275ioctlent_h_in = linux/ioctlent.h.in
276
277BUILT_SOURCES += $(ioctlent_h_in)
278
279$(srcdir)/$(ioctlent_h_in): ioctlsort
280	$(<D)/$(<F) > $@
281ioctlsort: $(srcdir)/linux/ioctlsort.c ioctls.h ioctldefs.h
282	$(filter-out -I%,$(LINK.c)) -I. -I$(IOCTLSORT_INCLUDEDIR) \
283	$(filter -I%,$(LINK.c)) \
284	  -o $@ $<
285ioctls.h: $(srcdir)/linux/ioctlent.sh
286	$(SHELL) $< $(IOCTLDIR) $(IOCTLASM)
287ioctldefs.h: ioctls.h ;
288
289endif
290
291ioctlent_h = $(builddir)/$(OS)/ioctlent.h
292BUILT_SOURCES += $(ioctlent_h)
293CLEANFILES = $(ioctlent_h)
294ioctlent_h_deps = $(srcdir)/$(OS)/ioctlent.h.in $(srcdir)/$(OS)/$(ARCH)/ioctlent.h.in
295$(ioctlent_h): $(top_builddir)/config.status $(ioctlent_h_deps)
296	$(MKDIR_P) $(builddir)/$(OS)
297	cat $(ioctlent_h_deps) | \
298		$(COMPILE) -E -P - | \
299		LC_ALL=C sort -u -k3,3 -k2,2 | \
300		awk -f $(srcdir)/linux/ioctlent-filter.awk > $@
301