blob: 5524293fb15aadf8d41940a2c2e0d5710233af12 [file] [log] [blame]
Roland McGrath6d2b3492002-12-30 00:51:30 +00001# Automake input for strace.
2
Dmitry V. Levin4e4b5ad2011-02-27 00:28:50 +00003SUBDIRS = tests
4
Roland McGrath6d2b3492002-12-30 00:51:30 +00005bin_PROGRAMS = strace
6man_MANS = strace.1
Denys Vlasenko796f6e82012-03-09 14:21:59 +01007bin_SCRIPTS = strace-graph strace-log-merge
Roland McGrath6d2b3492002-12-30 00:51:30 +00008
Dmitry V. Levinee245d82012-02-25 15:34:10 +01009OS = linux
Roland McGrath6d2b3492002-12-30 00:51:30 +000010# ARCH is `i386', `m68k', `sparc', etc.
11ARCH = @arch@
Roland McGrath6d2b3492002-12-30 00:51:30 +000012
Dmitry V. Levin916aded2010-09-09 17:36:36 +000013ACLOCAL_AMFLAGS = -I m4
Dmitry V. Levin918e49b2010-09-09 17:41:15 +000014AM_CFLAGS = $(WARN_CFLAGS)
Mike Frysinger9004e122011-02-20 23:24:22 -050015AM_CPPFLAGS = -I$(srcdir)/$(OS)/$(ARCH) -I$(srcdir)/$(OS) -I$(builddir)/$(OS)
Roland McGrath6d2b3492002-12-30 00:51:30 +000016
Dmitry V. Levin7ae73a92013-04-30 23:34:51 +000017strace_SOURCES = \
Dmitry V. Levin2b640342013-11-11 15:06:18 +000018 aio.c \
Dmitry V. Levin7ae73a92013-04-30 23:34:51 +000019 bjm.c \
20 block.c \
21 count.c \
22 desc.c \
Dmitry V. Levin99db95d2014-02-05 04:13:18 +000023 fanotify.c \
Dmitry V. Levin7ae73a92013-04-30 23:34:51 +000024 file.c \
25 io.c \
26 ioctl.c \
27 ipc.c \
Dmitry V. Levin90aa9f42014-02-05 13:48:26 +000028 kexec.c \
Dmitry V. Levin7ae73a92013-04-30 23:34:51 +000029 loop.c \
30 mem.c \
31 mtd.c \
32 net.c \
33 pathtrace.c \
34 process.c \
Stefan Sørensenb88a6f82014-01-31 12:01:01 +010035 ptp.c \
Dmitry V. Levin7ae73a92013-04-30 23:34:51 +000036 quota.c \
Dmitry V. Levin9aaf88c2014-02-05 14:51:19 +000037 reboot.c \
Dmitry V. Levin7ae73a92013-04-30 23:34:51 +000038 resource.c \
39 scsi.c \
40 signal.c \
41 sock.c \
42 strace.c \
43 stream.c \
44 syscall.c \
45 system.c \
46 term.c \
47 time.c \
48 util.c \
49 vsprintf.c
50
Roland McGrath2746edd2002-12-30 09:13:08 +000051noinst_HEADERS = defs.h
Denys Vlasenko76f61be2013-03-06 18:59:09 +010052# Enable this to get link map generated
53#strace_CFLAGS = $(AM_CFLAGS) -Wl,-Map=strace.mapfile
Roland McGrath6d2b3492002-12-30 00:51:30 +000054
Dmitry V. Levin7ae73a92013-04-30 23:34:51 +000055EXTRA_DIST = \
56 $(man_MANS) \
Dmitry V. Levindce75932013-04-30 23:52:12 +000057 .version \
Mike Frysinger6c191362013-05-15 16:33:09 -040058 COPYING \
Dmitry V. Levin7ae73a92013-04-30 23:34:51 +000059 CREDITS \
60 ChangeLog \
61 ChangeLog-CVS \
62 README-linux \
63 README-linux-ptrace \
64 debian/changelog \
65 debian/compat \
66 debian/control \
67 debian/copyright \
68 debian/rules \
69 debian/source/format \
70 debian/strace-udeb.install \
71 debian/strace.docs \
72 debian/strace.examples \
73 debian/strace.install \
74 debian/strace.manpages \
75 debian/strace64.install \
76 debian/strace64.manpages \
77 debian/watch \
78 errnoent.sh \
79 ioctlsort.c \
Dmitry V. Levin0db34e72013-06-02 18:12:44 +000080 linux/aarch64/errnoent1.h \
81 linux/aarch64/ioctlent.h.in \
82 linux/aarch64/ioctlent1.h \
83 linux/aarch64/signalent1.h \
84 linux/aarch64/syscallent.h \
85 linux/aarch64/syscallent1.h \
Dmitry V. Levin7ae73a92013-04-30 23:34:51 +000086 linux/alpha/errnoent.h \
87 linux/alpha/ioctlent.h.in \
88 linux/alpha/signalent.h \
89 linux/alpha/syscallent.h \
Vineet Gupta7daacbb2013-08-16 12:47:06 +053090 linux/arc/ioctlent.h.in \
91 linux/arc/syscallent.h \
Dmitry V. Levin7ae73a92013-04-30 23:34:51 +000092 linux/arm/ioctlent.h.in \
93 linux/arm/syscallent.h \
94 linux/avr32/ioctlent.h.in \
95 linux/avr32/syscallent.h \
96 linux/bfin/ioctlent.h.in \
97 linux/bfin/syscallent.h \
98 linux/dummy.h \
99 linux/errnoent.h \
Dmitry V. Levin99db95d2014-02-05 04:13:18 +0000100 linux/fanotify.h \
Dmitry V. Levin7ae73a92013-04-30 23:34:51 +0000101 linux/hppa/errnoent.h \
102 linux/hppa/ioctlent.h.in \
103 linux/hppa/signalent.h \
104 linux/hppa/syscallent.h \
105 linux/i386/ioctlent.h.in \
106 linux/i386/syscallent.h \
107 linux/ia64/ioctlent.h.in \
108 linux/ia64/signalent.h \
109 linux/ia64/syscallent.h \
110 linux/ioctlent-filter.awk \
111 linux/ioctlent.h.in \
112 linux/ioctlent.sh \
113 linux/ioctlsort.c \
Dmitry V. Levin90aa9f42014-02-05 13:48:26 +0000114 linux/kexec.h \
Dmitry V. Levin7ae73a92013-04-30 23:34:51 +0000115 linux/m68k/ioctlent.h.in \
116 linux/m68k/syscallent.h \
Dmitry V. Levin0db34e72013-06-02 18:12:44 +0000117 linux/metag/ioctlent.h.in \
118 linux/metag/syscallent.h \
Dmitry V. Levin7ae73a92013-04-30 23:34:51 +0000119 linux/microblaze/ioctlent.h.in \
120 linux/microblaze/syscallent.h \
121 linux/mips/errnoent.h \
122 linux/mips/ioctlent.h.in \
123 linux/mips/ioctlent.sh \
124 linux/mips/signalent.h \
Dmitry V. Levin34c445b2013-05-07 02:46:46 +0000125 linux/mips/syscallent-compat.h \
126 linux/mips/syscallent-n32.h \
127 linux/mips/syscallent-n64.h \
128 linux/mips/syscallent-o32.h \
Dmitry V. Levin7ae73a92013-04-30 23:34:51 +0000129 linux/mips/syscallent.h \
130 linux/mtd-abi.h \
Dmitry V. Levin0db34e72013-06-02 18:12:44 +0000131 linux/or1k/ioctlent.h.in \
132 linux/or1k/syscallent.h \
Dmitry V. Levin2a32eaa2014-02-05 02:09:49 +0000133 linux/personality.h \
Dmitry V. Levin7ae73a92013-04-30 23:34:51 +0000134 linux/powerpc/errnoent1.h \
135 linux/powerpc/ioctlent.h.in \
136 linux/powerpc/ioctlent1.h \
137 linux/powerpc/signalent1.h \
138 linux/powerpc/syscallent.h \
139 linux/powerpc/syscallent1.h \
Stefan Sørensenb88a6f82014-01-31 12:01:01 +0100140 linux/ptp_clock.h \
Dmitry V. Levin9aaf88c2014-02-05 14:51:19 +0000141 linux/reboot.h \
Dmitry V. Levin7ae73a92013-04-30 23:34:51 +0000142 linux/s390/ioctlent.h.in \
143 linux/s390/syscallent.h \
144 linux/s390x/ioctlent.h.in \
145 linux/s390x/syscallent.h \
146 linux/sh/ioctlent.h.in \
147 linux/sh/syscallent.h \
148 linux/sh64/ioctlent.h.in \
149 linux/sh64/syscallent.h \
150 linux/signalent.h \
151 linux/sparc/dummy2.h \
152 linux/sparc/errnoent.h \
153 linux/sparc/errnoent1.h \
154 linux/sparc/gen.pl \
155 linux/sparc/ioctlent.h.in \
156 linux/sparc/ioctlent1.h \
157 linux/sparc/signalent.h \
158 linux/sparc/signalent1.h \
159 linux/sparc/syscall1.h \
160 linux/sparc/syscallent.h \
161 linux/sparc/syscallent1.h \
162 linux/sparc64/dummy2.h \
163 linux/sparc64/errnoent.h \
164 linux/sparc64/errnoent1.h \
165 linux/sparc64/errnoent2.h \
166 linux/sparc64/ioctlent.h.in \
167 linux/sparc64/ioctlent1.h \
168 linux/sparc64/ioctlent2.h \
169 linux/sparc64/signalent.h \
170 linux/sparc64/signalent1.h \
171 linux/sparc64/signalent2.h \
172 linux/sparc64/syscall1.h \
173 linux/sparc64/syscallent.h \
174 linux/sparc64/syscallent1.h \
175 linux/sparc64/syscallent2.h \
Dmitry V. Levinde462cf2013-05-07 18:38:01 +0400176 linux/subcall.h \
Dmitry V. Levin7ae73a92013-04-30 23:34:51 +0000177 linux/syscall.h \
Dmitry V. Levin0db34e72013-06-02 18:12:44 +0000178 linux/tile/errnoent1.h \
Dmitry V. Levin7ae73a92013-04-30 23:34:51 +0000179 linux/tile/ioctlent.h.in \
Dmitry V. Levin0db34e72013-06-02 18:12:44 +0000180 linux/tile/ioctlent1.h \
181 linux/tile/signalent1.h \
Dmitry V. Levin7ae73a92013-04-30 23:34:51 +0000182 linux/tile/syscallent.h \
Dmitry V. Levin0db34e72013-06-02 18:12:44 +0000183 linux/tile/syscallent1.h \
Dmitry V. Levin8e0b8be2013-06-02 18:09:44 +0000184 linux/ubi-user.h \
Dmitry V. Levin7ae73a92013-04-30 23:34:51 +0000185 linux/x32/errnoent.h \
186 linux/x32/errnoent1.h \
187 linux/x32/ioctlent.h.in \
188 linux/x32/ioctlent1.h \
189 linux/x32/signalent.h \
190 linux/x32/signalent1.h \
191 linux/x32/syscallent.h \
192 linux/x32/syscallent1.h \
193 linux/x86_64/errnoent1.h \
194 linux/x86_64/errnoent2.h \
195 linux/x86_64/gentab.pl \
196 linux/x86_64/ioctlent.h.in \
197 linux/x86_64/ioctlent1.h \
198 linux/x86_64/ioctlent2.h \
199 linux/x86_64/signalent1.h \
200 linux/x86_64/signalent2.h \
201 linux/x86_64/syscallent.h \
202 linux/x86_64/syscallent1.h \
203 linux/x86_64/syscallent2.h \
Dmitry V. Levin0db34e72013-06-02 18:12:44 +0000204 linux/xtensa/ioctlent.h.in \
205 linux/xtensa/syscallent.h \
Dmitry V. Levin7ae73a92013-04-30 23:34:51 +0000206 signalent.sh \
207 strace-graph \
208 strace-log-merge \
209 strace.spec \
210 syscallent.sh \
211 xlate.el
Roland McGrathbc44e402004-07-12 05:45:08 +0000212
Roland McGrath2b832df2009-10-06 17:46:56 -0700213.PHONY: srpm
Dmitry V. Levin525a39a2011-02-27 14:05:58 +0000214srpm: dist-xz
215 rpmbuild --define '%_srcrpmdir .' -ts $(distdir).tar.xz
Roland McGrath2b832df2009-10-06 17:46:56 -0700216
Dmitry V. Levindce75932013-04-30 23:52:12 +0000217BUILT_SOURCES = .version
218
219$(srcdir)/.version:
220 $(AM_V_GEN)echo $(VERSION) > $@-t && mv $@-t $@
221
222dist-hook:
223 $(AM_V_GEN)echo $(VERSION) > $(distdir)/.tarball-version
224
225today = $(shell date +%Y-%m-%d)
226version_regexp = $(subst .,\.,$(VERSION))
227news_check_regexp = 'Noteworthy changes in release $(version_regexp) ($(today))'
228
229news-check: NEWS
230 $(AM_V_GEN)if head -1 $< | \
231 grep -x $(news_check_regexp) >/dev/null; then \
232 :; \
233 else \
234 echo >&2 '$<: check failed'; \
235 exit 1; \
236 fi
Mike Frysinger9004e122011-02-20 23:24:22 -0500237
Roland McGrathbc44e402004-07-12 05:45:08 +0000238if MAINTAINER_MODE
Roland McGratha478d742009-10-06 17:41:02 -0700239
240gen_changelog_start_date = 2009-07-08 20:00
Dmitry V. Levindce75932013-04-30 23:52:12 +0000241$(srcdir)/ChangeLog: $(srcdir)/gitlog-to-changelog $(srcdir)/Makefile.in \
242 $(srcdir)/.version
Roland McGratha478d742009-10-06 17:41:02 -0700243 @rm -f $@.new
Dmitry V. Levindce75932013-04-30 23:52:12 +0000244 (cd $(srcdir); \
Dmitry V. Levin594399d2011-11-05 13:32:27 +0000245 ./gitlog-to-changelog --append-dot \
246 --since='$(gen_changelog_start_date)'; \
Roland McGratha478d742009-10-06 17:41:02 -0700247 echo; echo; echo 'See ChangeLog-CVS for older changes.' \
248 ) > $@.new
249 chmod 444 $@.new
250 mv -f $@.new $@
251
Dmitry V. Levindce75932013-04-30 23:52:12 +0000252$(srcdir)/CREDITS: $(srcdir)/CREDITS.in $(srcdir)/.mailmap \
253 $(srcdir)/Makefile.in $(srcdir)/.version
Dmitry V. Levin59138a22011-02-24 01:51:15 +0000254 $(AM_V_GEN) \
255 { \
Dmitry V. Levindce75932013-04-30 23:52:12 +0000256 cd $(srcdir); \
Dmitry V. Levin59138a22011-02-24 01:51:15 +0000257 sed '/^##/,$$d' CREDITS.in; \
258 { sed -n '1,/^##>/d; s/ \+/\t/; s/^./&/p' CREDITS.in; \
259 git log --pretty=format:'%aN %aE'; \
260 } | LC_ALL=C sort -u \
261 | awk -F'\t' '{printf("\t%s <%s>\n",$$1,$$2)}'; \
262 } > $@-t && mv $@-t $@
263
Dmitry V. Levin76ac37d2009-10-09 22:10:09 +0000264export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner --mode=go-w,go+rX
265
Roland McGrathbc44e402004-07-12 05:45:08 +0000266IOCTLDIR = /usr/include
Roland McGrathadc2b302004-07-12 06:11:03 +0000267IOCTLASM = asm
Dmitry V. Levin1cd3f5f2013-06-03 16:24:53 +0000268IOCTLSORT_INCLUDEDIR = $(IOCTLDIR)
Roland McGrathbc44e402004-07-12 05:45:08 +0000269
Mike Frysinger9004e122011-02-20 23:24:22 -0500270ioctlent_h_in = linux/ioctlent.h.in
Roland McGrathbc44e402004-07-12 05:45:08 +0000271
Mike Frysinger9004e122011-02-20 23:24:22 -0500272BUILT_SOURCES += $(ioctlent_h_in)
Roland McGrathbc44e402004-07-12 05:45:08 +0000273
Mike Frysinger9004e122011-02-20 23:24:22 -0500274$(srcdir)/$(ioctlent_h_in): ioctlsort
Roland McGrathbc44e402004-07-12 05:45:08 +0000275 $(<D)/$(<F) > $@
276ioctlsort: $(srcdir)/linux/ioctlsort.c ioctls.h ioctldefs.h
Dmitry V. Levin1cd3f5f2013-06-03 16:24:53 +0000277 $(filter-out -I%,$(LINK.c)) -I. -I$(IOCTLSORT_INCLUDEDIR) \
278 $(filter -I%,$(LINK.c)) \
Roland McGrathadc2b302004-07-12 06:11:03 +0000279 -o $@ $<
Roland McGrathbc44e402004-07-12 05:45:08 +0000280ioctls.h: $(srcdir)/linux/ioctlent.sh
Roland McGrathadc2b302004-07-12 06:11:03 +0000281 $(SHELL) $< $(IOCTLDIR) $(IOCTLASM)
Roland McGrathbc44e402004-07-12 05:45:08 +0000282ioctldefs.h: ioctls.h ;
283
284endif
Mike Frysinger9004e122011-02-20 23:24:22 -0500285
286ioctlent_h = $(builddir)/$(OS)/ioctlent.h
287BUILT_SOURCES += $(ioctlent_h)
288CLEANFILES = $(ioctlent_h)
289ioctlent_h_deps = $(srcdir)/$(OS)/ioctlent.h.in $(srcdir)/$(OS)/$(ARCH)/ioctlent.h.in
290$(ioctlent_h): $(top_builddir)/config.status $(ioctlent_h_deps)
291 $(MKDIR_P) $(builddir)/$(OS)
292 cat $(ioctlent_h_deps) | \
293 $(COMPILE) -E -P - | \
Dmitry V. Levin17e38602012-10-27 01:11:13 +0000294 LC_ALL=C sort -u -k3,3 -k2,2 | \
295 awk -f $(srcdir)/linux/ioctlent-filter.awk > $@