forked from kryton/hue
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.vars
102 lines (85 loc) · 3.61 KB
/
Makefile.vars
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# Licensed to Cloudera, Inc. under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. Cloudera, Inc. licenses this file
# to you 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.
#
# Public (SDK) Makefile variables. It requires the following to be defined:
# ROOT
# Points to the root of the Hue installation.
# From here, we can include $(ROOT)/Makefile.vars
# to access various
#
SHELL := /bin/bash
##############################
# 1. Check for python-dev
# 2. Locate the system Python
##############################
# If we're an installed Makefile, allow the build to override
# some things. This allows the install to prepopulate
# SYS_PYTHON, in particular.
ifneq ($(wildcard $(ROOT)/Makefile.buildvars),)
include $(ROOT)/Makefile.buildvars
endif
PYTHON_H ?= $(shell ls /usr/include/python2.7/Python.h 2>/dev/null || ls /usr/include/python2.6/Python.h 2>/dev/null)
ifndef SKIP_PYTHONDEV_CHECK
ifeq ($(PYTHON_H),)
$(error "Error: must have python development packages for 2.6 or 2.7. Could not find Python.h. Please install python2.6-devel or python2.7-devel")
endif
SYS_PYTHON := $(shell echo $(PYTHON_H) | grep -o python2..)
else
SYS_PYTHON ?= $(shell which python)
endif
ifeq ($(SYS_PYTHON),)
$(error "Error: Need python version 2.6 or 2.7.")
endif
HADOOP_HOME ?= /usr/lib/hadoop
##############################
# Location of the virtual environment
##############################
BLD_DIR := $(ROOT)/build
BLD_DIR_ENV := $(BLD_DIR)/env
BLD_DIR_BIN := $(BLD_DIR_ENV)/bin
THIRDPARTY_DIR := $(ROOT)/ext/thirdparty
THIRDPARTY_JS_DIR := $(THIRDPARTY_DIR)/js
STATIC_DIR := $(BLD_DIR)/static
##############################
# ENV_PYTHON is the Python installed in the virtual environment. App
# installation should always use the ENV_PYTHON.
##############################
ENV_PYTHON := $(BLD_DIR_ENV)/bin/$(notdir $(SYS_PYTHON))
ENV_PYTHON_VERSION = $(shell $(ENV_PYTHON) -c 'import sys; print "python%d.%d"% sys.version_info[:2]')
##############################
# ENV_EASY_INSTALL uses the easy_install script installed in the virtual
# environment. It must be called as an argument to ENV_PYTHON so the
# problem of the shebang being truncated at 80 characters in most kernels
# doesn't arise.
##############################
ENV_EASY_INSTALL := $(ENV_PYTHON) $(BLD_DIR_BIN)/easy_install
##############################
# This version is substituted through to the tarballs and packages.
##############################
DESKTOP_VERSION := $(shell python <(cat $(ROOT)/VERSION; echo print VERSION))
MAVEN_VERSION = $(DESKTOP_VERSION)-SNAPSHOT
##############################
# Path to the desktop hadoop plugin jar
##############################
DESKTOP_PLUGIN_JAR := $(ROOT)/desktop/libs/hadoop/java-lib/hue-plugins-$(MAVEN_VERSION).jar
##############################
# Path to the desktop dbproxy jar
##############################
DB_PROXY_JAR := $(ROOT)/desktop/libs/librdbms/java-lib/dbproxy-1.0.jar
################################################
# Internationalization
################################################
PYBABEL := $(ROOT)/build/env/bin/pybabel