| 1 | if LTTNG_TOOLS_BUILD_GIT_SOURCE |
| 2 | GIT_DESCRIBE_CMD = (cd $(top_srcdir); git describe) |
| 3 | else |
| 4 | GIT_DESCRIBE_CMD = /bin/true |
| 5 | endif |
| 6 | |
| 7 | ## |
| 8 | ## The version.h file must be verified and generated or updated if the |
| 9 | ## git commit id (called git version here) changed since the last build |
| 10 | ## of lttng-tools. |
| 11 | ## |
| 12 | version.h: |
| 13 | ## |
| 14 | ## We first create variables for the current git version and |
| 15 | ## the locations of the version.h and version.h.tmpl files. |
| 16 | ## |
| 17 | @echo $(ECHO_N) "Generating version.h... $(ECHO_C)" |
| 18 | @(version_h_tmpl="$(top_srcdir)/include/version.h.tmpl"; \ |
| 19 | if [ -f "$${version_h_tmpl}" ]; then \ |
| 20 | version_h="$(top_builddir)/include/version.h"; \ |
| 21 | ## |
| 22 | ## Check whether we are in a git repo. |
| 23 | ## |
| 24 | git_describe="$$($(GIT_DESCRIBE_CMD) 2>/dev/null)"; \ |
| 25 | if [ $$? -eq 0 ]; then \ |
| 26 | git_version="$${git_describe}"; \ |
| 27 | else \ |
| 28 | git_version=""; \ |
| 29 | fi; \ |
| 30 | ## |
| 31 | ## If the version.h file doesn't exist or is not up to date, |
| 32 | ## We replace it by the version.h.tmpl file. |
| 33 | ## |
| 34 | if [ ! -e "$${version_h}" ] || \ |
| 35 | [ "$${version_h_tmpl}" -nt "$${version_h}" ]; then \ |
| 36 | cp "$${version_h_tmpl}" "$${version_h}"; \ |
| 37 | fi; \ |
| 38 | echo $(ECHO_N) "git version: \"$${git_version}\"$(ECHO_C)"; \ |
| 39 | ## |
| 40 | ## We verify that git_version isn't the same as the one |
| 41 | ## currently in the file (if there is one), as we don't |
| 42 | ## want to update the file if it is already up to date. |
| 43 | ## |
| 44 | version_match='^#define GIT_VERSION.*'; \ |
| 45 | old_version=$$($(GREP) "$${version_match}" "$${version_h}"); \ |
| 46 | new_version="#define GIT_VERSION \"$${git_version}\""; \ |
| 47 | if [ x"$${old_version}" != x"$${new_version}" ]; then \ |
| 48 | $(SED) -i -e "s'$${version_match}'$${new_version}'" "$${version_h}"; \ |
| 49 | else \ |
| 50 | echo $(ECHO_N) " (cached)$(ECHO_C)"; \ |
| 51 | fi; \ |
| 52 | echo $(ECHO_N) "... $(ECHO_C)"; \ |
| 53 | fi) |
| 54 | @echo "$(ECHO_T)ok" |
| 55 | |
| 56 | ## |
| 57 | ## version.h is defined as a .PHONY file even if it's a real file as |
| 58 | ## we want our routine to be ran for each build. |
| 59 | ## |
| 60 | .PHONY: version.h |
| 61 | |
| 62 | CLEANFILES = version.h |
| 63 | |
| 64 | nodist_noinst_HEADERS = \ |
| 65 | version.h |
| 66 | |
| 67 | lttnginclude_HEADERS = \ |
| 68 | lttng/health.h \ |
| 69 | lttng/lttng.h \ |
| 70 | lttng/constant.h \ |
| 71 | lttng/channel.h \ |
| 72 | lttng/domain.h \ |
| 73 | lttng/event.h \ |
| 74 | lttng/handle.h \ |
| 75 | lttng/session.h \ |
| 76 | lttng/lttng-error.h \ |
| 77 | lttng/snapshot.h \ |
| 78 | lttng/save.h \ |
| 79 | lttng/load.h \ |
| 80 | lttng/endpoint.h \ |
| 81 | version.h.tmpl |
| 82 | |
| 83 | lttngactioninclude_HEADERS= \ |
| 84 | lttng/action/action.h \ |
| 85 | lttng/action/notify.h |
| 86 | |
| 87 | lttngconditioninclude_HEADERS= \ |
| 88 | lttng/condition/condition.h \ |
| 89 | lttng/condition/buffer-usage.h \ |
| 90 | lttng/condition/evaluation.h |
| 91 | |
| 92 | lttngnotificationinclude_HEADERS= \ |
| 93 | lttng/notification/channel.h \ |
| 94 | lttng/notification/notification.h |
| 95 | |
| 96 | lttngtriggerinclude_HEADERS= \ |
| 97 | lttng/trigger/trigger.h |
| 98 | |
| 99 | noinst_HEADERS = \ |
| 100 | lttng/snapshot-internal.h \ |
| 101 | lttng/health-internal.h \ |
| 102 | lttng/save-internal.h \ |
| 103 | lttng/load-internal.h \ |
| 104 | lttng/action/action-internal.h \ |
| 105 | lttng/action/notify-internal.h \ |
| 106 | lttng/condition/condition-internal.h \ |
| 107 | lttng/condition/buffer-usage-internal.h \ |
| 108 | lttng/condition/evaluation-internal.h \ |
| 109 | lttng/notification/notification-internal.h \ |
| 110 | lttng/trigger/trigger-internal.h \ |
| 111 | lttng/endpoint-internal.h \ |
| 112 | lttng/notification/channel-internal.h |