]> granicus.if.org Git - strace/blobdiff - Makefile.am
Filter out redundant ioctl entries early
[strace] / Makefile.am
index 8edcf8905d9e8c0e3235d003debdc06ce1f2f5b4..fa6e73e6e2ac7886a04a1ed0443fdf092d192394 100644 (file)
@@ -14,89 +14,258 @@ ACLOCAL_AMFLAGS = -I m4
 AM_CFLAGS = $(WARN_CFLAGS)
 AM_CPPFLAGS = -I$(srcdir)/$(OS)/$(ARCH) -I$(srcdir)/$(OS) -I$(builddir)/$(OS)
 
-strace_SOURCES = strace.c syscall.c count.c util.c desc.c file.c ipc.c \
-                io.c ioctl.c mem.c net.c process.c bjm.c quota.c \
-                resource.c signal.c sock.c system.c term.c time.c \
-                scsi.c stream.c block.c pathtrace.c mtd.c
+include xlat/Makemodule.am
+
+strace_SOURCES =       \
+       aio.c           \
+       bjm.c           \
+       block.c         \
+       count.c         \
+       desc.c          \
+       dirent.c        \
+       fanotify.c      \
+       file.c          \
+       inotify.c       \
+       io.c            \
+       ioctl.c         \
+       ioprio.c        \
+       ipc.c           \
+       kexec.c         \
+       keyctl.c        \
+       ldt.c           \
+       loop.c          \
+       mem.c           \
+       mtd.c           \
+       net.c           \
+       pathtrace.c     \
+       process.c       \
+       ptp.c           \
+       quota.c         \
+       reboot.c        \
+       resource.c      \
+       scsi.c          \
+       signal.c        \
+       sock.c          \
+       socketutils.c   \
+       statfs.c        \
+       strace.c        \
+       stream.c        \
+       syscall.c       \
+       sysinfo.c       \
+       system.c        \
+       term.c          \
+       time.c          \
+       util.c          \
+       vsprintf.c
+
+if USE_LIBUNWIND
+strace_SOURCES += unwind.c
+strace_CPPFLAGS = $(AM_CPPFLAGS) $(libunwind_CPPFLAGS)
+strace_LDFLAGS = $(libunwind_LDFLAGS)
+strace_LDADD = $(libunwind_LIBS)
+else
+strace_CPPFLAGS = $(AM_CPPFLAGS)
+endif
+
 noinst_HEADERS = defs.h
+# Enable this to get link map generated
+#strace_CFLAGS = $(AM_CFLAGS) -Wl,-Map=strace.mapfile
 
-EXTRA_DIST = $(man_MANS) errnoent.sh signalent.sh syscallent.sh ioctlsort.c \
-            debian/changelog debian/compat debian/control debian/copyright \
-            debian/rules debian/source/format debian/watch \
-            debian/strace64.install debian/strace64.manpages \
-            debian/strace.docs debian/strace.examples debian/strace.install \
-            debian/strace.manpages debian/strace-udeb.install \
-            strace.spec \
-            strace-graph strace-log-merge \
-            ChangeLog ChangeLog-CVS COPYRIGHT CREDITS \
-            README-linux README-linux-ptrace \
-            linux/ioctlsort.c linux/ioctlent.sh \
-            linux/ioctlent.h.in linux/errnoent.h linux/signalent.h \
-            linux/syscall.h linux/dummy.h linux/mtd-abi.h \
-            linux/i386/ioctlent.h.in linux/i386/syscallent.h \
-            linux/alpha/errnoent.h linux/alpha/ioctlent.h.in \
-            linux/alpha/signalent.h linux/alpha/syscallent.h \
-            linux/arm/ioctlent.h.in linux/arm/syscallent.h \
-            linux/arm/syscallent1.h \
-            linux/arm/signalent1.h linux/arm/ioctlent1.h \
-            linux/arm/errnoent1.h \
-            linux/avr32/ioctlent.h.in linux/avr32/syscallent.h \
-            linux/bfin/ioctlent.h.in linux/bfin/syscallent.h \
-            linux/hppa/errnoent.h linux/hppa/ioctlent.h.in \
-            linux/hppa/signalent.h linux/hppa/syscallent.h \
-            linux/ia64/ioctlent.h.in \
-            linux/ia64/signalent.h \
-            linux/ia64/syscallent.h \
-            linux/m68k/ioctlent.h.in linux/m68k/syscallent.h \
-            linux/microblaze/ioctlent.h.in linux/microblaze/syscallent.h \
-            linux/mips/ioctlent.sh linux/mips/errnoent.h \
-            linux/mips/ioctlent.h.in linux/mips/signalent.h \
-            linux/mips/syscallent.h \
-            linux/powerpc/ioctlent.h.in linux/powerpc/ioctlent1.h \
-            linux/powerpc/syscallent.h linux/powerpc/syscallent1.h \
-            linux/powerpc/errnoent1.h linux/powerpc/signalent1.h \
-            linux/s390/ioctlent.h.in \
-            linux/s390/syscallent.h \
-            linux/s390x/ioctlent.h.in \
-            linux/s390x/syscallent.h \
-            linux/sh/syscallent.h \
-            linux/sh/ioctlent.h.in \
-            linux/sh64/ioctlent.h.in linux/sh64/syscallent.h \
-            linux/sparc/dummy2.h \
-            linux/sparc/errnoent.h linux/sparc/errnoent1.h \
-            linux/sparc/ioctlent.h.in linux/sparc/ioctlent1.h \
-            linux/sparc/signalent.h linux/sparc/signalent1.h \
-            linux/sparc/syscall1.h \
-            linux/sparc/syscallent.h linux/sparc/syscallent1.h \
-            linux/sparc/gen.pl \
-            linux/sparc64/dummy2.h linux/sparc64/errnoent.h \
-            linux/sparc64/errnoent1.h linux/sparc64/errnoent2.h \
-            linux/sparc64/ioctlent.h.in linux/sparc64/ioctlent1.h \
-            linux/sparc64/ioctlent2.h linux/sparc64/signalent.h \
-            linux/sparc64/signalent1.h linux/sparc64/signalent2.h \
-            linux/sparc64/syscall1.h \
-            linux/sparc64/syscallent.h linux/sparc64/syscallent1.h \
-            linux/sparc64/syscallent2.h \
-            linux/tile/ioctlent.h.in linux/tile/syscallent.h \
-            linux/x86_64/ioctlent.h.in linux/x86_64/syscallent.h \
-            linux/x86_64/gentab.pl \
-            linux/x86_64/errnoent1.h linux/x86_64/ioctlent1.h \
-            linux/x86_64/signalent1.h linux/x86_64/syscallent1.h \
-            xlate.el
+EXTRA_DIST =                           \
+       $(man_MANS)                     \
+       .version                        \
+       COPYING                         \
+       CREDITS                         \
+       ChangeLog                       \
+       ChangeLog-CVS                   \
+       README-linux                    \
+       README-linux-ptrace             \
+       debian/changelog                \
+       debian/compat                   \
+       debian/control                  \
+       debian/copyright                \
+       debian/rules                    \
+       debian/source/format            \
+       debian/strace-udeb.install      \
+       debian/strace.docs              \
+       debian/strace.examples          \
+       debian/strace.install           \
+       debian/strace.manpages          \
+       debian/strace64.install         \
+       debian/strace64.manpages        \
+       debian/watch                    \
+       errnoent.sh                     \
+       linux/aarch64/errnoent1.h       \
+       linux/aarch64/ioctlent.h.in     \
+       linux/aarch64/ioctlent1.h       \
+       linux/aarch64/signalent1.h      \
+       linux/aarch64/syscallent.h      \
+       linux/aarch64/syscallent1.h     \
+       linux/alpha/errnoent.h          \
+       linux/alpha/ioctlent.h.in       \
+       linux/alpha/signalent.h         \
+       linux/alpha/syscallent.h        \
+       linux/arc/ioctlent.h.in         \
+       linux/arc/syscallent.h          \
+       linux/arm/ioctlent.h.in         \
+       linux/arm/syscallent.h          \
+       linux/avr32/ioctlent.h.in       \
+       linux/avr32/syscallent.h        \
+       linux/bfin/ioctlent.h.in        \
+       linux/bfin/syscallent.h         \
+       linux/dummy.h                   \
+       linux/errnoent.h                \
+       linux/fanotify.h                \
+       linux/hppa/errnoent.h           \
+       linux/hppa/ioctlent.h.in        \
+       linux/hppa/signalent.h          \
+       linux/hppa/syscallent.h         \
+       linux/i386/ioctlent.h.in        \
+       linux/i386/syscallent.h         \
+       linux/ia64/ioctlent.h.in        \
+       linux/ia64/signalent.h          \
+       linux/ia64/syscallent.h         \
+       linux/inet_diag.h               \
+       linux/inotify.h                 \
+       linux/ioctlent.h.in             \
+       linux/ioctlent.sh               \
+       linux/ioctlsort.c               \
+       linux/kexec.h                   \
+       linux/keyctl.h                  \
+       linux/m68k/ioctlent.h.in        \
+       linux/m68k/syscallent.h         \
+       linux/metag/ioctlent.h.in       \
+       linux/metag/syscallent.h        \
+       linux/microblaze/ioctlent.h.in  \
+       linux/microblaze/syscallent.h   \
+       linux/mips/errnoent.h           \
+       linux/mips/ioctlent.h.in        \
+       linux/mips/ioctlent.sh          \
+       linux/mips/signalent.h          \
+       linux/mips/syscallent-compat.h  \
+       linux/mips/syscallent-n32.h     \
+       linux/mips/syscallent-n64.h     \
+       linux/mips/syscallent-o32.h     \
+       linux/mips/syscallent.h         \
+       linux/mtd-abi.h                 \
+       linux/or1k/ioctlent.h.in        \
+       linux/or1k/syscallent.h         \
+       linux/personality.h             \
+       linux/powerpc/errnoent1.h       \
+       linux/powerpc/ioctlent.h.in     \
+       linux/powerpc/ioctlent1.h       \
+       linux/powerpc/signalent1.h      \
+       linux/powerpc/syscallent.h      \
+       linux/powerpc/syscallent1.h     \
+       linux/ptp_clock.h               \
+       linux/reboot.h                  \
+       linux/s390/ioctlent.h.in        \
+       linux/s390/syscallent.h         \
+       linux/s390x/ioctlent.h.in       \
+       linux/s390x/syscallent.h        \
+       linux/sh/ioctlent.h.in          \
+       linux/sh/syscallent.h           \
+       linux/sh64/ioctlent.h.in        \
+       linux/sh64/syscallent.h         \
+       linux/signalent.h               \
+       linux/sock_diag.h               \
+       linux/sparc/dummy2.h            \
+       linux/sparc/errnoent.h          \
+       linux/sparc/errnoent1.h         \
+       linux/sparc/gen.pl              \
+       linux/sparc/ioctlent.h.in       \
+       linux/sparc/ioctlent1.h         \
+       linux/sparc/signalent.h         \
+       linux/sparc/signalent1.h        \
+       linux/sparc/syscall1.h          \
+       linux/sparc/syscallent.h        \
+       linux/sparc/syscallent1.h       \
+       linux/sparc64/dummy2.h          \
+       linux/sparc64/errnoent.h        \
+       linux/sparc64/errnoent1.h       \
+       linux/sparc64/errnoent2.h       \
+       linux/sparc64/ioctlent.h.in     \
+       linux/sparc64/ioctlent1.h       \
+       linux/sparc64/ioctlent2.h       \
+       linux/sparc64/signalent.h       \
+       linux/sparc64/signalent1.h      \
+       linux/sparc64/signalent2.h      \
+       linux/sparc64/syscall1.h        \
+       linux/sparc64/syscallent.h      \
+       linux/sparc64/syscallent1.h     \
+       linux/sparc64/syscallent2.h     \
+       linux/subcall.h                 \
+       linux/syscall.h                 \
+       linux/tile/errnoent1.h          \
+       linux/tile/ioctlent.h.in        \
+       linux/tile/ioctlent1.h          \
+       linux/tile/signalent1.h         \
+       linux/tile/syscallent.h         \
+       linux/tile/syscallent1.h        \
+       linux/ubi-user.h                \
+       linux/x32/errnoent.h            \
+       linux/x32/errnoent1.h           \
+       linux/x32/ioctlent.h.in         \
+       linux/x32/ioctlent1.h           \
+       linux/x32/signalent.h           \
+       linux/x32/signalent1.h          \
+       linux/x32/syscallent.h          \
+       linux/x32/syscallent1.h         \
+       linux/x86_64/errnoent1.h        \
+       linux/x86_64/errnoent2.h        \
+       linux/x86_64/gentab.pl          \
+       linux/x86_64/ioctlent.h.in      \
+       linux/x86_64/ioctlent1.h        \
+       linux/x86_64/ioctlent2.h        \
+       linux/x86_64/signalent1.h       \
+       linux/x86_64/signalent2.h       \
+       linux/x86_64/syscallent.h       \
+       linux/x86_64/syscallent1.h      \
+       linux/x86_64/syscallent2.h      \
+       linux/xtensa/ioctlent.h.in      \
+       linux/xtensa/syscallent.h       \
+       signalent.sh                    \
+       strace-graph                    \
+       strace-log-merge                \
+       strace.spec                     \
+       syscallent.sh                   \
+       $(XLAT_INPUT_FILES)             \
+       $(XLAT_HEADER_FILES)            \
+       xlat/gen.sh                     \
+       xlate.el
 
 .PHONY: srpm
 srpm: dist-xz
        rpmbuild --define '%_srcrpmdir .' -ts $(distdir).tar.xz
 
-BUILT_SOURCES =
+BUILT_SOURCES = .version
+
+$(srcdir)/.version:
+       $(AM_V_GEN)echo $(VERSION) > $@-t && mv $@-t $@
+
+dist-hook:
+       $(AM_V_GEN)echo $(VERSION) > $(distdir)/.tarball-version
+
+today = $(shell date +%Y-%m-%d)
+version_regexp = $(subst .,\.,$(VERSION))
+news_check_regexp = 'Noteworthy changes in release $(version_regexp) ($(today))'
+
+news-check: NEWS
+       $(AM_V_GEN)if head -1 $< |                              \
+         grep -x $(news_check_regexp) >/dev/null; then         \
+               :;                                              \
+       else                                                    \
+               echo >&2 '$<: check failed';                    \
+               exit 1;                                         \
+       fi
 
 if MAINTAINER_MODE
 
 gen_changelog_start_date = 2009-07-08 20:00
-$(srcdir)/ChangeLog: $(top_srcdir)/gitlog-to-changelog $(srcdir)/Makefile.in \
-                    $(top_srcdir)/.git/refs/heads/*
+$(srcdir)/ChangeLog: $(srcdir)/gitlog-to-changelog $(srcdir)/Makefile.in \
+                    $(srcdir)/.version
        @rm -f $@.new
-       (cd $(top_srcdir); \
+       (cd $(srcdir); \
         ./gitlog-to-changelog --append-dot \
           --since='$(gen_changelog_start_date)'; \
         echo; echo; echo 'See ChangeLog-CVS for older changes.' \
@@ -104,22 +273,23 @@ $(srcdir)/ChangeLog: $(top_srcdir)/gitlog-to-changelog $(srcdir)/Makefile.in \
        chmod 444 $@.new
        mv -f $@.new $@
 
-$(srcdir)/CREDITS: $(top_srcdir)/CREDITS.in $(top_srcdir)/.mailmap \
-                  $(srcdir)/Makefile.in $(top_srcdir)/.git/refs/heads/*
+$(srcdir)/CREDITS: $(srcdir)/CREDITS.in $(srcdir)/.mailmap \
+                  $(srcdir)/Makefile.in $(srcdir)/.version
        $(AM_V_GEN)                                                     \
-       {                                                               \
-         cd $(top_srcdir);                                             \
+       (                                                               \
+         cd $(srcdir);                                                 \
          sed '/^##/,$$d' CREDITS.in;                                   \
          { sed -n '1,/^##>/d; s/  \+/\t/; s/^./&/p' CREDITS.in;        \
            git log --pretty=format:'%aN        %aE';                   \
          } | LC_ALL=C sort -u                                          \
            | awk -F'\t' '{printf("\t%s <%s>\n",$$1,$$2)}';             \
-       } > $@-t && mv $@-t $@
+       ) > $@-t && mv $@-t $@
 
 export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner --mode=go-w,go+rX
 
 IOCTLDIR = /usr/include
 IOCTLASM = asm
+IOCTLSORT_INCLUDEDIR = $(IOCTLDIR)
 
 ioctlent_h_in = linux/ioctlent.h.in
 
@@ -128,7 +298,8 @@ BUILT_SOURCES += $(ioctlent_h_in)
 $(srcdir)/$(ioctlent_h_in): ioctlsort
        $(<D)/$(<F) > $@
 ioctlsort: $(srcdir)/linux/ioctlsort.c ioctls.h ioctldefs.h
-       $(filter-out -I%,$(LINK.c)) -I. -I$(IOCTLDIR) $(filter -I%,$(LINK.c)) \
+       $(filter-out -I%,$(LINK.c)) -I. -I$(IOCTLSORT_INCLUDEDIR) \
+       $(filter -I%,$(LINK.c)) \
          -o $@ $<
 ioctls.h: $(srcdir)/linux/ioctlent.sh
        $(SHELL) $< $(IOCTLDIR) $(IOCTLASM)