| 1 | ## |
| 2 | ## This target generates an include file that contains the git version |
| 3 | ## string of the current branch, it must be continuously updated when |
| 4 | ## we build in the git repo and shipped in dist tarballs to reflect the |
| 5 | ## status of the tree when it was generated. If the tree is clean and |
| 6 | ## the current commit is tag a starting with "v", consider this a |
| 7 | ## release version and set an empty git version. |
| 8 | ## |
| 9 | ## Here is what the inline script does: |
| 10 | ## |
| 11 | ## First, delete any stale "version.i.tmp" file. |
| 12 | ## |
| 13 | ## If "bootstrap" and ".git" exists in the top source directory and the git |
| 14 | ## executable is available, get the current git version string in the form: |
| 15 | ## |
| 16 | ## "latest_tag"(-"number_of_commits_on_top")(-g"latest_commit_hash")(-dirty) |
| 17 | ## |
| 18 | ## And store it in "version.i.tmp", if the current commit is tagged, the tag |
| 19 | ## starts with "v" and the tree is clean, consider this a release version and |
| 20 | ## overwrite the git version with an empty string in "version.i.tmp". |
| 21 | ## |
| 22 | ## If we don't have a "version.i.tmp" nor a "version.i", generate an empty |
| 23 | ## string as a failover. |
| 24 | ## |
| 25 | ## If we don't have a "version.i" or we have both files and they are different, |
| 26 | ## copy "version.i.tmp" over "version.i". This way the dependent targets are |
| 27 | ## only rebuilt when the version string changes. |
| 28 | ## |
| 29 | |
| 30 | version_verbose = $(version_verbose_@AM_V@) |
| 31 | version_verbose_ = $(version_verbose_@AM_DEFAULT_V@) |
| 32 | version_verbose_0 = @echo " GEN " $@; |
| 33 | |
| 34 | version.i: |
| 35 | $(version_verbose)rm -f version.i.tmp; \ |
| 36 | if (test -r "$(top_srcdir)/bootstrap" && test -r "$(top_srcdir)/.git") && \ |
| 37 | test -x "`which git 2>&1;true`"; then \ |
| 38 | GIT_VERSION_STR="`cd "$(top_srcdir)" && git describe --tags --dirty`"; \ |
| 39 | GIT_CURRENT_TAG="`cd "$(top_srcdir)" && git describe --tags --exact-match --match="v[0-9]*" HEAD 2> /dev/null`"; \ |
| 40 | echo "#define GIT_VERSION \"$$GIT_VERSION_STR\"" > version.i.tmp; \ |
| 41 | if ! $(GREP) -- "-dirty" version.i.tmp > /dev/null && \ |
| 42 | test "x$$GIT_CURRENT_TAG" != "x"; then \ |
| 43 | echo "#define GIT_VERSION \"\"" > version.i.tmp; \ |
| 44 | fi; \ |
| 45 | fi; \ |
| 46 | if test ! -f version.i.tmp; then \ |
| 47 | if test ! -f version.i; then \ |
| 48 | echo '#define GIT_VERSION ""' > version.i; \ |
| 49 | fi; \ |
| 50 | elif test ! -f version.i || \ |
| 51 | test x"`cat version.i.tmp`" != x"`cat version.i`"; then \ |
| 52 | mv version.i.tmp version.i; \ |
| 53 | fi; \ |
| 54 | rm -f version.i.tmp; \ |
| 55 | true |
| 56 | |
| 57 | ## |
| 58 | ## version.i is defined as a .PHONY target even if it's a real file, |
| 59 | ## we want the target to be re-run on every make. |
| 60 | ## |
| 61 | .PHONY: version.i |
| 62 | |
| 63 | CLEANFILES = version.i.tmp |
| 64 | |
| 65 | ## |
| 66 | ## Only clean "version.i" on dist-clean, we need to keep it on regular |
| 67 | ## clean when it's part of a dist tarball. |
| 68 | ## |
| 69 | DISTCLEANFILES = version.i |
| 70 | |
| 71 | # Core API |
| 72 | babeltraceincludedir = "$(includedir)/babeltrace" |
| 73 | babeltraceinclude_HEADERS = \ |
| 74 | babeltrace/babeltrace.h \ |
| 75 | babeltrace/logging.h \ |
| 76 | babeltrace/ref.h \ |
| 77 | babeltrace/types.h \ |
| 78 | babeltrace/values.h \ |
| 79 | babeltrace/version.h |
| 80 | |
| 81 | # Legacy API (for CTF writer) |
| 82 | babeltracectfincludedir = "$(includedir)/babeltrace/ctf" |
| 83 | babeltracectfinclude_HEADERS = \ |
| 84 | babeltrace/ctf/events.h |
| 85 | |
| 86 | # CTF writer API |
| 87 | babeltracectfwriterincludedir = "$(includedir)/babeltrace/ctf-writer" |
| 88 | babeltracectfwriterinclude_HEADERS = \ |
| 89 | babeltrace/ctf-writer/clock-class.h \ |
| 90 | babeltrace/ctf-writer/clock.h \ |
| 91 | babeltrace/ctf-writer/event-fields.h \ |
| 92 | babeltrace/ctf-writer/event.h \ |
| 93 | babeltrace/ctf-writer/event-types.h \ |
| 94 | babeltrace/ctf-writer/fields.h \ |
| 95 | babeltrace/ctf-writer/field-types.h \ |
| 96 | babeltrace/ctf-writer/stream-class.h \ |
| 97 | babeltrace/ctf-writer/stream.h \ |
| 98 | babeltrace/ctf-writer/trace.h \ |
| 99 | babeltrace/ctf-writer/writer.h |
| 100 | |
| 101 | # CTF IR API |
| 102 | babeltracectfirincludedir = "$(includedir)/babeltrace/ctf-ir" |
| 103 | babeltracectfirinclude_HEADERS = \ |
| 104 | babeltrace/ctf-ir/clock-class.h \ |
| 105 | babeltrace/ctf-ir/clock-value.h \ |
| 106 | babeltrace/ctf-ir/clock.h \ |
| 107 | babeltrace/ctf-ir/event-class.h \ |
| 108 | babeltrace/ctf-ir/event.h \ |
| 109 | babeltrace/ctf-ir/field-path.h \ |
| 110 | babeltrace/ctf-ir/field-types.h \ |
| 111 | babeltrace/ctf-ir/fields.h \ |
| 112 | babeltrace/ctf-ir/packet.h \ |
| 113 | babeltrace/ctf-ir/stream-class.h \ |
| 114 | babeltrace/ctf-ir/stream.h \ |
| 115 | babeltrace/ctf-ir/trace.h \ |
| 116 | babeltrace/ctf-ir/utils.h \ |
| 117 | babeltrace/ctf-ir/visitor.h |
| 118 | |
| 119 | # Plugin and plugin development API |
| 120 | babeltracepluginincludedir = "$(includedir)/babeltrace/plugin" |
| 121 | babeltraceplugininclude_HEADERS = \ |
| 122 | babeltrace/plugin/plugin-dev.h \ |
| 123 | babeltrace/plugin/plugin.h |
| 124 | |
| 125 | # Graph, component, and notification API |
| 126 | babeltracegraphincludedir = "$(includedir)/babeltrace/graph" |
| 127 | babeltracegraphinclude_HEADERS = \ |
| 128 | babeltrace/graph/clock-class-priority-map.h \ |
| 129 | babeltrace/graph/component-class-filter.h \ |
| 130 | babeltrace/graph/component-class-sink.h \ |
| 131 | babeltrace/graph/component-class-source.h \ |
| 132 | babeltrace/graph/component-class.h \ |
| 133 | babeltrace/graph/component-filter.h \ |
| 134 | babeltrace/graph/component-sink.h \ |
| 135 | babeltrace/graph/component-source.h \ |
| 136 | babeltrace/graph/component-status.h \ |
| 137 | babeltrace/graph/component.h \ |
| 138 | babeltrace/graph/connection.h \ |
| 139 | babeltrace/graph/graph.h \ |
| 140 | babeltrace/graph/notification-discarded-events.h \ |
| 141 | babeltrace/graph/notification-discarded-packets.h \ |
| 142 | babeltrace/graph/notification-event.h \ |
| 143 | babeltrace/graph/notification-heap.h \ |
| 144 | babeltrace/graph/notification-inactivity.h \ |
| 145 | babeltrace/graph/notification-iterator.h \ |
| 146 | babeltrace/graph/notification-packet.h \ |
| 147 | babeltrace/graph/notification-stream.h \ |
| 148 | babeltrace/graph/notification.h \ |
| 149 | babeltrace/graph/output-port-notification-iterator.h \ |
| 150 | babeltrace/graph/port.h \ |
| 151 | babeltrace/graph/private-component-filter.h \ |
| 152 | babeltrace/graph/private-component-sink.h \ |
| 153 | babeltrace/graph/private-component-source.h \ |
| 154 | babeltrace/graph/private-component.h \ |
| 155 | babeltrace/graph/private-connection-notification-iterator.h \ |
| 156 | babeltrace/graph/private-connection-private-notification-iterator.h \ |
| 157 | babeltrace/graph/private-connection.h \ |
| 158 | babeltrace/graph/private-port.h \ |
| 159 | babeltrace/graph/query-executor.h |
| 160 | |
| 161 | noinst_HEADERS = \ |
| 162 | babeltrace/compat/stdlib-internal.h \ |
| 163 | babeltrace/compat/fcntl-internal.h \ |
| 164 | babeltrace/compat/glib-internal.h \ |
| 165 | babeltrace/compat/uuid-internal.h \ |
| 166 | babeltrace/compat/unistd-internal.h \ |
| 167 | babeltrace/compat/stdio-internal.h \ |
| 168 | babeltrace/compat/time-internal.h \ |
| 169 | babeltrace/compat/utc-internal.h \ |
| 170 | babeltrace/compat/memstream-internal.h \ |
| 171 | babeltrace/compat/string-internal.h \ |
| 172 | babeltrace/compat/limits-internal.h \ |
| 173 | babeltrace/compat/mman-internal.h \ |
| 174 | babeltrace/compat/socket-internal.h \ |
| 175 | babeltrace/common-internal.h \ |
| 176 | babeltrace/bitfield-internal.h \ |
| 177 | babeltrace/object-internal.h \ |
| 178 | babeltrace/plugin/plugin-internal.h \ |
| 179 | babeltrace/plugin/plugin-so-internal.h \ |
| 180 | babeltrace/plugin/python-plugin-provider-internal.h \ |
| 181 | babeltrace/assert-internal.h \ |
| 182 | babeltrace/values-internal.h \ |
| 183 | babeltrace/ctf-writer/fields-internal.h \ |
| 184 | babeltrace/ctf-writer/stream-class-internal.h \ |
| 185 | babeltrace/ctf-writer/event-internal.h \ |
| 186 | babeltrace/ctf-writer/trace-internal.h \ |
| 187 | babeltrace/ctf-writer/field-types-internal.h \ |
| 188 | babeltrace/ctf-writer/serialize-internal.h \ |
| 189 | babeltrace/ctf-writer/writer-internal.h \ |
| 190 | babeltrace/ctf-writer/stream-internal.h \ |
| 191 | babeltrace/ctf-writer/clock-internal.h \ |
| 192 | babeltrace/ctf-writer/functor-internal.h \ |
| 193 | babeltrace/mmap-align-internal.h \ |
| 194 | babeltrace/align-internal.h \ |
| 195 | babeltrace/logging-internal.h \ |
| 196 | babeltrace/endian-internal.h \ |
| 197 | babeltrace/ctf-ir/packet-internal.h \ |
| 198 | babeltrace/ctf-ir/event-class-internal.h \ |
| 199 | babeltrace/ctf-ir/utils-internal.h \ |
| 200 | babeltrace/ctf-ir/validation-internal.h \ |
| 201 | babeltrace/ctf-ir/fields-internal.h \ |
| 202 | babeltrace/ctf-ir/stream-class-internal.h \ |
| 203 | babeltrace/ctf-ir/event-internal.h \ |
| 204 | babeltrace/ctf-ir/field-path-internal.h \ |
| 205 | babeltrace/ctf-ir/trace-internal.h \ |
| 206 | babeltrace/ctf-ir/clock-class-internal.h \ |
| 207 | babeltrace/ctf-ir/field-types-internal.h \ |
| 208 | babeltrace/ctf-ir/clock-value-internal.h \ |
| 209 | babeltrace/ctf-ir/attributes-internal.h \ |
| 210 | babeltrace/ctf-ir/stream-internal.h \ |
| 211 | babeltrace/ctf-ir/resolve-internal.h \ |
| 212 | babeltrace/ctf-ir/visitor-internal.h \ |
| 213 | babeltrace/prio-heap-internal.h \ |
| 214 | babeltrace/lib-logging-internal.h \ |
| 215 | babeltrace/compiler-internal.h \ |
| 216 | babeltrace/babeltrace-internal.h \ |
| 217 | babeltrace/assert-pre-internal.h \ |
| 218 | babeltrace/ref-internal.h \ |
| 219 | babeltrace/graph/component-internal.h \ |
| 220 | babeltrace/graph/notification-stream-internal.h \ |
| 221 | babeltrace/graph/connection-internal.h \ |
| 222 | babeltrace/graph/notification-event-internal.h \ |
| 223 | babeltrace/graph/query-executor-internal.h \ |
| 224 | babeltrace/graph/graph-internal.h \ |
| 225 | babeltrace/graph/component-class-sink-colander-internal.h \ |
| 226 | babeltrace/graph/notification-inactivity-internal.h \ |
| 227 | babeltrace/graph/notification-heap-internal.h \ |
| 228 | babeltrace/graph/component-source-internal.h \ |
| 229 | babeltrace/graph/notification-discarded-elements-internal.h \ |
| 230 | babeltrace/graph/notification-packet-internal.h \ |
| 231 | babeltrace/graph/notification-iterator-internal.h \ |
| 232 | babeltrace/graph/notification-internal.h \ |
| 233 | babeltrace/graph/component-filter-internal.h \ |
| 234 | babeltrace/graph/component-class-internal.h \ |
| 235 | babeltrace/graph/component-sink-internal.h \ |
| 236 | babeltrace/graph/port-internal.h \ |
| 237 | babeltrace/graph/clock-class-priority-map-internal.h \ |
| 238 | babeltrace/list-internal.h \ |
| 239 | version.h \ |
| 240 | version.i |