1 # Automake input for strace.
7 TESTS_MX32 = tests-mx32
9 SUBDIRS = tests $(TESTS_M32) $(TESTS_MX32)
13 bin_SCRIPTS = strace-graph strace-log-merge
16 # ARCH is `i386', `m68k', `sparc', etc.
19 ACLOCAL_AMFLAGS = -I m4
20 AM_CFLAGS = $(WARN_CFLAGS)
21 AM_CPPFLAGS = -I$(builddir)/$(OS)/$(ARCH) \
22 -I$(srcdir)/$(OS)/$(ARCH) \
26 include xlat/Makemodule.am
138 strace_SOURCES += unwind.c
139 strace_CPPFLAGS = $(AM_CPPFLAGS) $(libunwind_CPPFLAGS)
140 strace_LDFLAGS = $(libunwind_LDFLAGS)
141 strace_LDADD = $(libunwind_LIBS)
143 strace_CPPFLAGS = $(AM_CPPFLAGS)
146 noinst_HEADERS = defs.h
147 # Enable this to get link map generated
148 #strace_CFLAGS = $(AM_CFLAGS) -Wl,-Map=strace.mapfile
157 README-linux-ptrace \
163 debian/source/format \
164 debian/strace-udeb.install \
166 debian/strace.examples \
167 debian/strace.install \
168 debian/strace.manpages \
169 debian/strace64.install \
170 debian/strace64.manpages \
175 linux/32/ioctls_inc.h \
176 linux/32/ioctls_inc_align32.h \
177 linux/32/ioctls_inc_align64.h \
178 linux/32/syscallent.h \
179 linux/64/ioctls_inc.h \
180 linux/64/syscallent.h \
181 linux/aarch64/arch_regs.c \
182 linux/aarch64/arch_regs.h \
183 linux/aarch64/arch_sigreturn.c \
184 linux/aarch64/errnoent1.h \
185 linux/aarch64/get_error.c \
186 linux/aarch64/get_scno.c \
187 linux/aarch64/get_syscall_args.c\
188 linux/aarch64/ioctls_arch0.h \
189 linux/aarch64/ioctls_arch1.h \
190 linux/aarch64/ioctls_inc0.h \
191 linux/aarch64/ioctls_inc1.h \
192 linux/aarch64/print_pc.c \
193 linux/aarch64/signalent1.h \
194 linux/aarch64/syscallent.h \
195 linux/aarch64/syscallent1.h \
196 linux/alpha/arch_getrval2.c \
197 linux/alpha/arch_regs.c \
198 linux/alpha/arch_regs.h \
199 linux/alpha/arch_sigreturn.c \
200 linux/alpha/errnoent.h \
201 linux/alpha/get_error.c \
202 linux/alpha/get_scno.c \
203 linux/alpha/get_syscall_args.c \
204 linux/alpha/get_syscall_result.c\
205 linux/alpha/ioctls_arch0.h \
206 linux/alpha/ioctls_inc0.h \
207 linux/alpha/print_pc.c \
208 linux/alpha/signalent.h \
209 linux/alpha/syscallent.h \
210 linux/alpha/userent.h \
211 linux/arc/arch_regs.c \
212 linux/arc/get_error.c \
213 linux/arc/get_scno.c \
214 linux/arc/get_syscall_args.c \
215 linux/arc/ioctls_arch0.h \
216 linux/arc/ioctls_inc0.h \
217 linux/arc/print_pc.c \
218 linux/arc/syscallent.h \
220 linux/arch_sigreturn.c \
221 linux/arm/arch_regs.c \
222 linux/arm/arch_regs.h \
223 linux/arm/arch_sigreturn.c \
224 linux/arm/get_error.c \
225 linux/arm/get_scno.c \
226 linux/arm/get_syscall_args.c \
227 linux/arm/ioctls_arch0.h \
228 linux/arm/ioctls_inc0.h \
229 linux/arm/print_pc.c \
230 linux/arm/syscallent.h \
231 linux/arm/userent.h \
232 linux/avr32/arch_regs.c \
233 linux/avr32/get_error.c \
234 linux/avr32/get_scno.c \
235 linux/avr32/get_syscall_args.c \
236 linux/avr32/ioctls_arch0.h \
237 linux/avr32/ioctls_inc0.h \
238 linux/avr32/print_pc.c \
239 linux/avr32/syscallent.h \
240 linux/avr32/userent.h \
241 linux/bfin/arch_regs.c \
242 linux/bfin/get_error.c \
243 linux/bfin/get_scno.c \
244 linux/bfin/get_syscall_args.c \
245 linux/bfin/get_syscall_result.c \
246 linux/bfin/ioctls_arch0.h \
247 linux/bfin/ioctls_inc0.h \
248 linux/bfin/print_pc.c \
249 linux/bfin/syscallent.h \
250 linux/bfin/userent.h \
251 linux/crisv10/arch_regs.c \
252 linux/crisv10/arch_sigreturn.c \
253 linux/crisv10/get_error.c \
254 linux/crisv10/get_scno.c \
255 linux/crisv10/get_syscall_args.c \
256 linux/crisv10/get_syscall_result.c \
257 linux/crisv10/print_pc.c \
258 linux/crisv10/userent.h \
259 linux/crisv32/arch_regs.c \
260 linux/crisv32/arch_sigreturn.c \
261 linux/crisv32/get_error.c \
262 linux/crisv32/get_scno.c \
263 linux/crisv32/get_syscall_args.c \
264 linux/crisv32/get_syscall_result.c \
265 linux/crisv32/print_pc.c \
266 linux/crisv32/userent.h \
269 linux/hppa/arch_regs.c \
270 linux/hppa/arch_regs.h \
271 linux/hppa/errnoent.h \
272 linux/hppa/get_error.c \
273 linux/hppa/get_scno.c \
274 linux/hppa/get_syscall_args.c \
275 linux/hppa/get_syscall_result.c \
276 linux/hppa/ioctls_arch0.h \
277 linux/hppa/ioctls_inc0.h \
278 linux/hppa/print_pc.c \
279 linux/hppa/signalent.h \
280 linux/hppa/syscallent.h \
281 linux/i386/arch_regs.c \
282 linux/i386/arch_regs.h \
283 linux/i386/arch_sigreturn.c \
284 linux/i386/get_error.c \
285 linux/i386/get_scno.c \
286 linux/i386/get_syscall_args.c \
287 linux/i386/ioctls_arch0.h \
288 linux/i386/ioctls_inc0.h \
289 linux/i386/print_pc.c \
290 linux/i386/syscallent.h \
291 linux/i386/userent.h \
292 linux/i386/userent0.h \
293 linux/ia64/arch_getrval2.c \
294 linux/ia64/arch_regs.c \
295 linux/ia64/arch_regs.h \
296 linux/ia64/arch_sigreturn.c \
297 linux/ia64/get_error.c \
298 linux/ia64/get_scno.c \
299 linux/ia64/get_syscall_args.c \
300 linux/ia64/ioctls_arch0.h \
301 linux/ia64/ioctls_inc0.h \
302 linux/ia64/print_pc.c \
303 linux/ia64/syscallent.h \
304 linux/ia64/userent.h \
306 linux/m68k/arch_regs.c \
307 linux/m68k/arch_sigreturn.c \
308 linux/m68k/get_error.c \
309 linux/m68k/get_scno.c \
310 linux/m68k/get_syscall_args.c \
311 linux/m68k/get_syscall_result.c \
312 linux/m68k/ioctls_arch0.h \
313 linux/m68k/ioctls_inc0.h \
314 linux/m68k/print_pc.c \
315 linux/m68k/syscallent.h \
316 linux/m68k/userent.h \
317 linux/metag/arch_regs.c \
318 linux/metag/get_error.c \
319 linux/metag/get_scno.c \
320 linux/metag/get_syscall_args.c \
321 linux/metag/ioctls_arch0.h \
322 linux/metag/ioctls_inc0.h \
323 linux/metag/print_pc.c \
324 linux/metag/syscallent.h \
325 linux/microblaze/arch_regs.c \
326 linux/microblaze/arch_sigreturn.c \
327 linux/microblaze/get_error.c \
328 linux/microblaze/get_scno.c \
329 linux/microblaze/get_syscall_args.c \
330 linux/microblaze/get_syscall_result.c \
331 linux/microblaze/ioctls_arch0.h \
332 linux/microblaze/ioctls_inc0.h \
333 linux/microblaze/print_pc.c \
334 linux/microblaze/syscallent.h \
335 linux/microblaze/userent.h \
336 linux/mips/arch_getrval2.c \
337 linux/mips/arch_regs.c \
338 linux/mips/arch_regs.h \
339 linux/mips/arch_sigreturn.c \
340 linux/mips/errnoent.h \
341 linux/mips/genstub.sh \
342 linux/mips/get_error.c \
343 linux/mips/get_scno.c \
344 linux/mips/get_syscall_args.c \
345 linux/mips/ioctls_arch0.h \
346 linux/mips/ioctls_inc0.h \
347 linux/mips/print_pc.c \
348 linux/mips/signalent.h \
349 linux/mips/syscallent-compat.h \
350 linux/mips/syscallent-n32.h \
351 linux/mips/syscallent-n64.h \
352 linux/mips/syscallent-o32.h \
353 linux/mips/syscallent.h \
354 linux/mips/userent.h \
356 linux/nios2/arch_regs.c \
357 linux/nios2/get_error.c \
358 linux/nios2/get_scno.c \
359 linux/nios2/get_syscall_args.c \
360 linux/nios2/ioctls_arch0.h \
361 linux/nios2/ioctls_inc0.h \
362 linux/nios2/print_pc.c \
363 linux/nios2/syscallent.h \
364 linux/or1k/arch_regs.c \
365 linux/or1k/get_error.c \
366 linux/or1k/get_scno.c \
367 linux/or1k/get_syscall_args.c \
368 linux/or1k/ioctls_arch0.h \
369 linux/or1k/ioctls_inc0.h \
370 linux/or1k/print_pc.c \
371 linux/or1k/syscallent.h \
372 linux/or1k/userent.h \
373 linux/personality.h \
374 linux/powerpc/arch_regs.c \
375 linux/powerpc/arch_regs.h \
376 linux/powerpc/arch_sigreturn.c \
377 linux/powerpc/errnoent.h \
378 linux/powerpc/get_error.c \
379 linux/powerpc/get_scno.c \
380 linux/powerpc/get_syscall_args.c \
381 linux/powerpc/getregs_old.c \
382 linux/powerpc/ioctls_arch0.h \
383 linux/powerpc/ioctls_inc0.h \
384 linux/powerpc/print_pc.c \
385 linux/powerpc/syscallent.h \
386 linux/powerpc/userent.h \
387 linux/powerpc64/arch_regs.c \
388 linux/powerpc64/arch_regs.h \
389 linux/powerpc64/arch_sigreturn.c \
390 linux/powerpc64/errnoent.h \
391 linux/powerpc64/errnoent1.h \
392 linux/powerpc64/get_error.c \
393 linux/powerpc64/get_scno.c \
394 linux/powerpc64/get_syscall_args.c \
395 linux/powerpc64/getregs_old.c \
396 linux/powerpc64/ioctls_arch0.h \
397 linux/powerpc64/ioctls_arch1.h \
398 linux/powerpc64/ioctls_inc0.h \
399 linux/powerpc64/ioctls_inc1.h \
400 linux/powerpc64/print_pc.c \
401 linux/powerpc64/signalent1.h \
402 linux/powerpc64/syscallent.h \
403 linux/powerpc64/syscallent1.h \
404 linux/powerpc64/userent.h \
406 linux/s390/arch_regs.c \
407 linux/s390/arch_regs.h \
408 linux/s390/arch_sigreturn.c \
409 linux/s390/get_error.c \
410 linux/s390/get_scno.c \
411 linux/s390/get_syscall_args.c \
412 linux/s390/ioctls_arch0.h \
413 linux/s390/ioctls_inc0.h \
414 linux/s390/print_pc.c \
415 linux/s390/syscallent.h \
416 linux/s390/userent.h \
417 linux/s390/userent0.h \
418 linux/s390/userent1.h \
419 linux/s390x/arch_regs.c \
420 linux/s390x/arch_regs.h \
421 linux/s390x/arch_sigreturn.c \
422 linux/s390x/get_error.c \
423 linux/s390x/get_scno.c \
424 linux/s390x/get_syscall_args.c \
425 linux/s390x/ioctls_arch0.h \
426 linux/s390x/ioctls_inc0.h \
427 linux/s390x/print_pc.c \
428 linux/s390x/syscallent.h \
429 linux/s390x/userent.h \
430 linux/sh/arch_getrval2.c \
431 linux/sh/arch_regs.c \
432 linux/sh/get_error.c \
433 linux/sh/get_scno.c \
434 linux/sh/get_syscall_args.c \
435 linux/sh/get_syscall_result.c \
436 linux/sh/ioctls_arch0.h \
437 linux/sh/ioctls_inc0.h \
438 linux/sh/print_pc.c \
439 linux/sh/syscallent.h \
441 linux/sh/userent0.h \
442 linux/sh64/arch_regs.c \
443 linux/sh64/arch_regs.h \
444 linux/sh64/get_error.c \
445 linux/sh64/get_scno.c \
446 linux/sh64/get_syscall_args.c \
447 linux/sh64/get_syscall_result.c \
448 linux/sh64/ioctls_arch0.h \
449 linux/sh64/ioctls_inc0.h \
450 linux/sh64/print_pc.c \
451 linux/sh64/syscallent.h \
452 linux/sh64/userent.h \
455 linux/sparc/arch_getrval2.c \
456 linux/sparc/arch_regs.c \
457 linux/sparc/arch_regs.h \
458 linux/sparc/arch_sigreturn.c \
459 linux/sparc/errnoent.h \
461 linux/sparc/get_error.c \
462 linux/sparc/get_scno.c \
463 linux/sparc/get_syscall_args.c \
464 linux/sparc/ioctls_arch0.h \
465 linux/sparc/ioctls_inc0.h \
466 linux/sparc/print_pc.c \
467 linux/sparc/signalent.h \
468 linux/sparc/syscallent.h \
469 linux/sparc/userent.h \
470 linux/sparc64/arch_getrval2.c \
471 linux/sparc64/arch_regs.c \
472 linux/sparc64/arch_regs.h \
473 linux/sparc64/arch_sigreturn.c \
474 linux/sparc64/errnoent.h \
475 linux/sparc64/errnoent1.h \
476 linux/sparc64/get_error.c \
477 linux/sparc64/get_scno.c \
478 linux/sparc64/get_syscall_args.c\
479 linux/sparc64/ioctls_arch0.h \
480 linux/sparc64/ioctls_arch1.h \
481 linux/sparc64/ioctls_inc0.h \
482 linux/sparc64/ioctls_inc1.h \
483 linux/sparc64/print_pc.c \
484 linux/sparc64/signalent.h \
485 linux/sparc64/signalent1.h \
486 linux/sparc64/syscallent.h \
487 linux/sparc64/syscallent1.h \
488 linux/sparc64/userent.h \
491 linux/tile/arch_regs.c \
492 linux/tile/arch_regs.h \
493 linux/tile/arch_sigreturn.c \
494 linux/tile/errnoent1.h \
495 linux/tile/get_error.c \
496 linux/tile/get_scno.c \
497 linux/tile/get_syscall_args.c \
498 linux/tile/ioctls_arch0.h \
499 linux/tile/ioctls_arch1.h \
500 linux/tile/ioctls_inc0.h \
501 linux/tile/ioctls_inc1.h \
502 linux/tile/print_pc.c \
503 linux/tile/signalent1.h \
504 linux/tile/syscallent.h \
505 linux/tile/syscallent1.h \
506 linux/tile/userent.h \
511 linux/x32/arch_regs.c \
512 linux/x32/arch_regs.h \
513 linux/x32/arch_sigreturn.c \
514 linux/x32/errnoent1.h \
515 linux/x32/get_error.c \
516 linux/x32/get_scno.c \
517 linux/x32/get_syscall_args.c \
518 linux/x32/ioctls_arch0.h \
519 linux/x32/ioctls_arch1.h \
520 linux/x32/ioctls_inc0.h \
521 linux/x32/ioctls_inc1.h \
522 linux/x32/print_pc.c \
523 linux/x32/signalent1.h \
524 linux/x32/syscallent.h \
525 linux/x32/syscallent1.h \
526 linux/x32/userent.h \
527 linux/x86_64/arch_regs.c \
528 linux/x86_64/arch_regs.h \
529 linux/x86_64/arch_sigreturn.c \
530 linux/x86_64/errnoent1.h \
531 linux/x86_64/errnoent2.h \
532 linux/x86_64/gentab.pl \
533 linux/x86_64/get_error.c \
534 linux/x86_64/get_scno.c \
535 linux/x86_64/get_syscall_args.c \
536 linux/x86_64/getregs_old.c \
537 linux/x86_64/ioctls_arch0.h \
538 linux/x86_64/ioctls_arch1.h \
539 linux/x86_64/ioctls_arch2.h \
540 linux/x86_64/ioctls_inc0.h \
541 linux/x86_64/ioctls_inc1.h \
542 linux/x86_64/ioctls_inc2.h \
543 linux/x86_64/print_pc.c \
544 linux/x86_64/signalent1.h \
545 linux/x86_64/signalent2.h \
546 linux/x86_64/syscallent.h \
547 linux/x86_64/syscallent1.h \
548 linux/x86_64/syscallent2.h \
549 linux/x86_64/userent.h \
550 linux/xtensa/arch_regs.c \
551 linux/xtensa/get_error.c \
552 linux/xtensa/get_scno.c \
553 linux/xtensa/get_syscall_args.c \
554 linux/xtensa/get_syscall_result.c \
555 linux/xtensa/ioctls_arch0.h \
556 linux/xtensa/ioctls_inc0.h \
557 linux/xtensa/print_pc.c \
558 linux/xtensa/syscallent.h \
559 linux/xtensa/userent.h \
560 maint/ioctls_gen.sh \
561 maint/ioctls_hex.sh \
562 maint/ioctls_sym.sh \
563 maint/print_ioctlent.c \
569 $(XLAT_INPUT_FILES) \
570 $(XLAT_HEADER_FILES) \
576 rpmbuild --define '%_srcrpmdir .' -ts $(distdir).tar.xz
578 BUILT_SOURCES = .version sys_func.h sen.h
581 $(AM_V_GEN)echo $(VERSION) > $@-t && mv $@-t $@
583 strace_SOURCES_c = $(filter %.c,$(strace_SOURCES))
585 sys_func.h: $(patsubst %,$(srcdir)/%,$(strace_SOURCES_c))
587 sed -n 's/^SYS_FUNC(.*/extern &;/p' $$f; \
590 syscallent_names = subcall.h syscallent.h syscallent1.h \
591 syscallent-n32.h syscallent-n64.h syscallent-o32.h
592 syscallent_patterns = $(patsubst %,\%/%,$(syscallent_names))
593 syscallent_files = $(filter $(syscallent_patterns),$(EXTRA_DIST))
595 sen.h: $(patsubst %,$(srcdir)/%,$(syscallent_files))
596 for f in $^; do cat -- $$f; done | \
597 $(srcdir)/generate_sen.sh > $@
600 $(AM_V_GEN)echo $(VERSION) > $(distdir)/.tarball-version
602 today = $(shell date +%Y-%m-%d)
603 version_regexp = $(subst .,\.,$(VERSION))
604 news_check_regexp = 'Noteworthy changes in release $(version_regexp) ($(today))'
607 $(AM_V_GEN)if head -1 $< | \
608 grep -x $(news_check_regexp) >/dev/null; then \
611 echo >&2 '$<: check failed'; \
615 ioctlsort_CC = $(CC_FOR_BUILD)
616 ioctlsort_DEFS = $(DEFS)
617 ioctlsort_INCLUDES = $(DEFAULT_INCLUDES) $(INCLUDES)
618 ioctlsort_CPPFLAGS = $(AM_CPPFLAGS) $(CPPFLAGS_FOR_BUILD)
619 ioctlsort_CFLAGS = $(AM_CFLAGS) $(CFLAGS_FOR_BUILD)
620 ioctlsort_LDFLAGS = $(AM_LDFLAGS) $(LDFLAGS_FOR_BUILD)
622 ioctls_inc_h = $(wildcard $(srcdir)/$(OS)/$(ARCH)/ioctls_inc*.h)
623 ioctlent_h = $(patsubst $(srcdir)/$(OS)/$(ARCH)/ioctls_inc%,ioctlent%,$(ioctls_inc_h))
624 BUILT_SOURCES += $(ioctlent_h)
625 CLEANFILES = sys_func.h sen.h $(ioctlent_h)
627 ioctlent%.h: ioctlsort%
630 ioctlsort%$(BUILD_EXEEXT): ioctlsort%.o
631 $(ioctlsort_CC) $(ioctlsort_CFLAGS) $(ioctlsort_LDFLAGS) $< -o $@
633 ioctlsort%.o: ioctls_all%.h $(srcdir)/ioctlsort.c
634 $(ioctlsort_CC) $(ioctlsort_DEFS) $(ioctlsort_INCLUDES) $(ioctlsort_CPPFLAGS) $(ioctlsort_CFLAGS) -DIOCTLSORT_INC=\"$<\" -c -o $@ $(srcdir)/ioctlsort.c
636 ioctls_all%.h: $(srcdir)/$(OS)/$(ARCH)/ioctls_inc%.h $(srcdir)/$(OS)/$(ARCH)/ioctls_arch%.h
641 gen_changelog_start_date = 2009-07-08 20:00
642 $(srcdir)/ChangeLog: $(srcdir)/gitlog-to-changelog $(srcdir)/Makefile.in \
646 ./gitlog-to-changelog --append-dot \
647 --since='$(gen_changelog_start_date)'; \
648 echo; echo; echo 'See ChangeLog-CVS for older changes.' \
653 $(srcdir)/CREDITS: $(srcdir)/CREDITS.in $(srcdir)/.mailmap \
654 $(srcdir)/Makefile.in $(srcdir)/.version
658 sed '/^##/,$$d' CREDITS.in; \
659 { sed -n '1,/^##>/d; s/ \+/\t/; s/^./&/p' CREDITS.in; \
660 git log --pretty=format:'%aN %aE'; \
661 } | LC_ALL=C sort -u \
662 | awk -F'\t' '{printf("\t%s <%s>\n",$$1,$$2)}'; \
663 ) > $@-t && mv $@-t $@
665 export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner --mode=go-w,go+rX