-
Notifications
You must be signed in to change notification settings - Fork 214
/
makefile.ver
77 lines (68 loc) · 2.73 KB
/
makefile.ver
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#===============================================================================
# Copyright 2014 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#===============================================================================
MAJOR = 2025
MINOR = 2
UPDATE = 0
BUILD = $(shell date +'%Y%m%d')
STATUS = P
BUILDREV ?= work
MAJORBINARY = 3
MINORBINARY = 0
#-------------------------------------------------------------------------------
# Declarations
#
# auto-generated include file to take version data from
VERSION_DATA_FILE = $(WORKDIR)/daal_version_gen.h
# content of version data file to be included in product
define DAAL_VERSION_DATA
// DO NOT EDIT: file is auto-generated on build time
// DO NOT PUT THIS FILE TO VERSIONING: file is auto-generated on build time
// Product version is specified in `makefile.ver` file
#define MAJORVERSION $(MAJOR)
#define MINORVERSION $(MINOR)
#define UPDATEVERSION $(UPDATE)
#define BUILD "$(BUILD)"
#define BUILD_REV "$(BUILDREV)"
#define PRODUCT_STATUS '$(STATUS)'
endef
export DAAL_VERSION_DATA
#-------------------------------------------------------------------------------
# Targets
#
# check if version data has been changed and we need to rebuilt version data header file
ifneq ($(shell cat $(VERSION_DATA_FILE) 2>/dev/null), $(strip $(DAAL_VERSION_DATA)))
.PHONY: $(VERSION_DATA_FILE)
endif
# target generating version data include file
$(VERSION_DATA_FILE): | $(WORKDIR)/.
@bash -c 'echo "$$DAAL_VERSION_DATA"' > $@
# update public headers in release directory with actual version data
update_headers_version:
@file=$(RELEASEDIR.include)/services/library_version_info.h && mark="#define __INTEL_DAAL" && \
sed $(sed.-b) \
-e "s/_DAAL_BUILD_DATE.*/_DAAL_BUILD_DATE $(BUILD)$(sed.eol)/" \
-e "s/\($${mark}__\).*/\1 $(MAJOR)$(sed.eol)/" \
-e "s/\($${mark}_MINOR__\).*/\1 $(MINOR)$(sed.eol)/" \
-e "s/\($${mark}_MAJOR_BINARY__\).*/\1 $(MAJORBINARY)$(sed.eol)/" \
-e "s/\($${mark}_MINOR_BINARY__\).*/\1 $(MINORBINARY)$(sed.eol)/" \
-e "s/\($${mark}_UPDATE__\).*/\1 $(UPDATE)$(sed.eol)/" \
-e "s/\($${mark}_STATUS__\).*/\1 \"$(STATUS)\"$(sed.eol)/" \
$$file > $$file.tmp; \
if ! cmp -s $$file.tmp $$file; then \
mv $$file.tmp $$file; \
else \
rm $$file.tmp; \
fi