# 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 || ls /usr/include/python2.5/Python.h 2>/dev/null || ls /usr/include/python2.4/Python.h 2>/dev/null) ifndef SKIP_PYTHONDEV_CHECK ifeq ($(PYTHON_H),) $(error "Error: must have python development packages for 2.4, 2.5, 2.6 or 2.7. Could not find Python.h. Please install python2.4-devel, python2.5-devel, 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.4, 2.5, 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 ############################## # 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 ################################################ # Internationalization ################################################ PYBABEL := $(ROOT)/build/env/bin/pybabel