-
Notifications
You must be signed in to change notification settings - Fork 0
/
common.mk
57 lines (47 loc) · 1.96 KB
/
common.mk
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
build-major=2
build-minor=1
# Required third party libraries
ECJ_MAJOR=3
BNDLIB_BRANCH=5.3
SYSLOGGER_BRANCH=$(build-major).$(build-minor)
# The following variables are found in the sdk.mk file which is generated by the configure script:
# SDK_SRC_BASE the base of the source code, typically the root of the cloned git repository
# SDK_BUILD_BASE the base of the output
# JAVA_HOME the base of the JDK used to build
A2_OUTPUT = $(SDK_BUILD_BASE)/a2
JVM ?= $(JAVA_HOME)/bin/java
JAVADOC ?= $(JAVA_HOME)/bin/javadoc
# GNU defaults
prefix ?= /usr/local
datarootdir ?= $(prefix)/share
exec_prefix ?= $(prefix)
libdir ?= $(exec_prefix)/lib
A2_INSTALL_TARGET ?= $(DESTDIR)$(datarootdir)/a2
A2_NATIVE_INSTALL_TARGET ?= $(DESTDIR)$(libdir)/a2
# The following variables have default values which can be overriden
# A2_BASE the space-separated directories where already built a2 categories can be found
A2_BASE ?=$(A2_OUTPUT) $(A2_INSTALL_TARGET) $(A2_NATIVE_INSTALL_TARGET) /usr/local/share/a2 /usr/local/lib/a2 /usr/share/a2 /usr/lib/a2
# OS-speciific
KNOWN_ARCHS ?= x86_64 aarch64
TARGET_OS ?= linux
TARGET_ARCH ?= $(shell uname -m)
TARGET_OS_CATEGORY_PREFIX=lib/$(TARGET_OS)
TARGET_ARCH_CATEGORY_PREFIX=$(TARGET_OS_CATEGORY_PREFIX)/$(TARGET_ARCH)
PORTABLE_CATEGORIES=$(filter-out lib/%, $(CATEGORIES))
ARCH_CATEGORIES=$(filter $(TARGET_ARCH_CATEGORY_PREFIX)/%, $(CATEGORIES))
OS_CATEGORIES=$(filter-out $(foreach arch, $(KNOWN_ARCHS), $(TARGET_OS_CATEGORY_PREFIX)/$(arch)/%), $(filter $(TARGET_OS_CATEGORY_PREFIX)/%, $(CATEGORIES)))
## Utilities
# Install to a target directory without executable bit
INSTALL=install -m644 -D --target-directory
# Always try copy-on-write
COPY=--reflink=auto
# Recursively delete directories
RMDIR=$(RM) -r
# Make variables used to replace spaces by a separator, typically in order to generate classpaths
# for example: CLASSPATH = $(subst $(space),$(pathsep),$(strip $(JARS)))
null :=
space := $(null) #
pathsep := :
define LF
$(null)
endef