-
Notifications
You must be signed in to change notification settings - Fork 211
/
makefile.ver
69 lines (60 loc) · 2.63 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
#===============================================================================
# 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 = 2024
MINOR = 7
UPDATE = 0
BUILD = $(shell date +'%Y%m%d')
STATUS = P
BUILDREV ?= work
MAJORBINARY = 2
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 SVN: file is auto-generated on build time
// Product version is specified in src/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) $(sed.-i) -e "s/_DAAL_BUILD_DATE.*/_DAAL_BUILD_DATE $(BUILD)$(sed.eol)/" \
-e "s/\($${mark}__\).*/\1 $(MAJOR)$(sed.eol)/;s/\($${mark}_MINOR__\).*/\1 $(MINOR)$(sed.eol)/" \
-e "s/\($${mark}_MAJOR_BINARY__\).*/\1 $(MAJORBINARY)$(sed.eol)/;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 && \
rm -f $$file.bak