mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 20:13:32 +01:00
- Add definitions for automatic SYSCFG installation rules - Add definitions for automatic INIT installation from .init files
849 lines
32 KiB
Makefile
849 lines
32 KiB
Makefile
# (c) 2001 jannet it services
|
|
# contact@jannet.de
|
|
# $Id$
|
|
|
|
# ----- pre-local.mk
|
|
|
|
ifneq ($(wildcard $(MODDIR)/make/pre-local.mk),)
|
|
include $(MODDIR)/make/pre-local.mk
|
|
endif
|
|
|
|
ifneq ($(wildcard $(TOPDIR)/make/pre-local.mk),)
|
|
include $(TOPDIR)/make/pre-local.mk
|
|
endif
|
|
|
|
ifneq ($(wildcard pre-local.mk),)
|
|
include pre-local.mk
|
|
endif
|
|
|
|
# ----- standard variables
|
|
ifeq ($(TARGET),mingw)
|
|
FLAVOUR_PREFIX ?= win32-
|
|
FLAVOUR_SUFFIX ?= -win32
|
|
FLAVOUR_PATH_PREFIX ?= win32/
|
|
FLAVOUR_PATH_SUFFIX ?= /win32
|
|
endif
|
|
|
|
PROJECT ?= $(patsubst $(FLAVOUR_PREFIX)%,%,$(notdir $(shell cd $(TOPDIR); pwd | sed 's/.*\///; s/-[0-9].*//')))
|
|
PROJECT_CAPNAME = $(shell echo $(PROJECT) | tr [a-z] [A-Z] | sed 's/-/_/g')
|
|
PROJECT_DESCR ?= No description
|
|
CUSTOMER ?= jannet
|
|
|
|
VERSION ?= $(shell cat $(TOPDIR)/VERSION)
|
|
DIST_VERSION ?= $(shell sed -e "s/-dev//" $(TOPDIR)/VERSION)
|
|
HEX_VERSION = $(shell echo $(DIST_VERSION) | \
|
|
sed 's/-dev//; s/pre[^\.]*//; s/F[^\.]//; s/[\.-]/ /g' | xargs printf "0x%02x%02x%02x%02x")
|
|
BINARY_VERSION = $(shell echo $(PROJECT)_$(DIST_VERSION) | tr [a-z] [A-Z] | sed 's/-[^-]*$$//; s/-/_/g')
|
|
WINVERSION = $(shell echo $(VERSION) | sed -e "s/\./_/g")
|
|
LOCAL_VERSION = $(shell echo $(VERSION))
|
|
LOCAL_WINVERSION = $(shell echo $(VERSION) | sed -e "s/\./_/g")
|
|
DIST_VERSION = $(shell echo $(VERSION) | sed -e "s/-dev//")
|
|
DIST_WINVERSION = $(shell echo $(WINVERSION) | sed -e "s/-dev//")
|
|
LOCAL_DIST_VERSION = $(shell echo $(LOCAL_VERSION) | sed -e "s/-dev//")
|
|
LOCAL_DIST_WINVERSION = $(shell echo $(LOCAL_WINVERSION) | sed -e "s/-dev//")
|
|
MAJOR_MINOR_RELEASE = $(shell echo $(DIST_VERSION) | cut -d- -f1)
|
|
BUILD_NUMBER = $(shell echo $(DIST_VERSION) | cut -d- -f2)
|
|
CVS_RSH ?= /usr/bin/ssh
|
|
LD_LIBRARY_PATH_ENV := $(LD_LIBRARY_PATH)
|
|
ifneq ($(TARGET),mingw)
|
|
EXE ?= $(EXE_BASENAME)
|
|
else
|
|
EXE ?= $(EXE_BASENAME).exe
|
|
endif
|
|
|
|
|
|
# ----- input dirs
|
|
ifeq ($(PROJECT),ytools)
|
|
MOD_SCRIPT_DIR ?= $(MODDIR)/devutil/scripts
|
|
else
|
|
MOD_SCRIPT_DIR ?= $(firstword $(wildcard $(MODDIR)/devutil/scripts $(MODDIR)/bin))
|
|
endif
|
|
YTOOLS_DIR = $(MODDIR)
|
|
PROJECT_STEM = $(PROJECT)-$(DIST_VERSION)
|
|
CVS_ROOT_DIR = $(shell test -d CVS && pwd | sed -e "s%`cat CVS/Repository`%%; s%/$$%%")
|
|
REV_SUBDIRS = $(shell echo $(SUBDIRS) | awk '{for (i=NF; i>=1; i--) printf ("%s ",$$i)}')
|
|
FRESH_CVSDIR = $(HOME)/local/src/cvs.fresh
|
|
IMAGE_DIR ?= $(CVS_ROOT_DIR)/images
|
|
|
|
# ----- compilation options
|
|
USE_GFILTER ?= true
|
|
TARGET ?= Linux
|
|
OS ?= $(shell sh $(MOD_SCRIPT_DIR)/get_os.sh)
|
|
ifeq ($(shell uname -m),x86_64)
|
|
ARCH = x86_64
|
|
else
|
|
ARCH = x86
|
|
endif
|
|
FULL_NAME = $(shell grep "^`id -nu`": /etc/passwd | cut -d: -f5)
|
|
DEVELOPMENT ?= $(shell echo $(VERSION) | grep -q 'dev' && echo true)
|
|
USE_PROJECT_LIB ?= true
|
|
USE_YTOOLS ?= true
|
|
USE_EXCEPTIONS_IN_C ?= true
|
|
REENTRANT ?= true
|
|
|
|
export REENTRANT
|
|
|
|
USE_CFG_XXX_MK ?= true
|
|
ifeq ($(USE_CFG_XXX_MK),true)
|
|
ifeq ($(DEVELOPMENT),true)
|
|
-include $(MODDIR)/make/defs-dev.mk
|
|
-include $(TOPDIR)/make/cfg_dev.mk
|
|
else
|
|
-include $(MODDIR)/make/defs-dist.mk
|
|
-include $(TOPDIR)/make/cfg_dist.mk
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(CATCH_ONLY_YERROR),true)
|
|
CFLAGS += -DCATCH_ONLY_YERROR
|
|
CPPFLAGS += -DCATCH_ONLY_YERROR
|
|
endif
|
|
|
|
ifneq ($(shell echo $(OS) | cut -d: -f1),suse-9)
|
|
SYSCONFIG_PREFIX ?= /etc
|
|
SYSCONFIG_FILE ?= /etc/rc.config
|
|
else
|
|
SYSCONFIG_PREFIX ?= /etc/sysconfig
|
|
SYSCONFIG_FILE ?= $(SYSCONFIG_DIR)/$(PROJECT)
|
|
endif
|
|
SYSCONFIG_DIR ?= $(SYSCONFIG_PREFIX)
|
|
OPTS_PID_FILE ?= $(PIDDIR)/$(PROJECT).pid
|
|
|
|
CFLAGS += -DVERSION=$(HEX_VERSION)
|
|
CPPFLAGS += -DVERSION=$(HEX_VERSION)
|
|
LD_LIB_PATH += $(MODDIR)/lib
|
|
|
|
ifeq ($(TARGET),mingw)
|
|
CROSS_TOOL_DIR ?= /opt/cross-tools
|
|
CROSS_TOOL_BIN_PREFIX ?= $(CROSS_TOOL_DIR)/bin/i686-pc-mingw32-
|
|
GCC = $(CROSS_TOOL_BIN_PREFIX)gcc
|
|
GPP = $(CROSS_TOOL_BIN_PREFIX)g++
|
|
STRIP = $(CROSS_TOOL_BIN_PREFIX)strip
|
|
LDFLAGS += -lws2_32
|
|
USE_GFILTER = false
|
|
MS_LD ?= wine $(HOME)/local/mingw/packages/msvcpp/bin/LIB.EXE
|
|
LD = $(GPP)
|
|
else
|
|
GCC = gcc
|
|
GPP = g++
|
|
STRIP = strip
|
|
LD = $(GPP)
|
|
endif
|
|
|
|
# makefile helpers
|
|
FIND_SUBDIRS = $(filter-out . .. ./nomake ./CVS $(addprefix ./,$(IGNORE_SUBDIRS)), $(shell find . -maxdepth 1 -type d))
|
|
|
|
# compiler and linker
|
|
GCC_VERSION = $(shell gcc -v 2>&1 | grep version | awk '{ print $$3;}')
|
|
GCC_MAJOR = $(shell gcc -v 2>&1 | grep version | awk '{ split($$3,a,"."); print a[1];}')
|
|
GCC_MINOR = $(shell gcc -v 2>&1 | grep version | awk '{ split($$3,a,"."); print a[2];}')
|
|
GCC_REV = $(shell gcc -v 2>&1 | grep version | awk '{ split($$3,a,"."); print a[3];}')
|
|
|
|
LD_VERSION = $(shell ld --version | sed '/GNU ld/ !d; s/[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/')
|
|
LD_MAJOR = $(shell echo $(LD_VERSION) | cut -d. -f1)
|
|
LD_MINOR = $(shell echo $(LD_VERSION) | cut -d. -f2)
|
|
LD_REV = $(shell echo $(LD_VERSION) | cut -d. -f3)
|
|
UPDATE_REPO_SH = /opt/ytools/bin/create_packet_descriptions.sh
|
|
|
|
#ifndef $(TOPDIR)
|
|
# TOPDIR := $(MODDIR)
|
|
#endif
|
|
|
|
# -- target files and dirs
|
|
|
|
SRC_SUFFIX += $(sort $(suffix $(wildcard $(TOPDIR)/hdr/*)))
|
|
LOCAL_SRC += Makefile $(wildcard $(addprefix *,$(SRC_SUFFIX)))
|
|
SRC_HEADERED += $(shell if [ "$(LOCAL_SRC)" ]; then grep -ic "it services" $(LOCAL_SRC) | sed '/:0$$/ d; s/:.*$$//'; fi)
|
|
SRC_UNHEADERED += $(filter-out $(SRC_HEADERED),$(LOCAL_SRC))
|
|
LOCAL_C += $(wildcard *.c)
|
|
LOCAL_CPP += $(wildcard *.cc *.cpp *.C)
|
|
SFILES += $(wildcard *.S)
|
|
SRC_ALL_CPP += $(LOCAL_C) $(LOCAL_CPP) $(LOCAL_H)
|
|
SRC_C += $(filter %.c, $(SRC_ALL_CPP))
|
|
SRC_CPP += $(filter %.cc %.cpp %.C, $(SRC_ALL_CPP))
|
|
OBJ += $(patsubst %.cpp,%.o,$(patsubst %.cc,%.o,$(patsubst %.c,%.o,$(filter %.c %.cpp %.cc, $(SRC_ALL_CPP)))))
|
|
OBJ += $(patsubst %.S,%.o,$(SFILES))
|
|
|
|
PREREQ_DIR += $(addprefix $(MODDIR)/,$(LOCAL_PREREQ))
|
|
PREREQ_DONE += $(addsuffix /all.done,$(PREREQ_DIR))
|
|
PREREQ_C += $(foreach dir,$(PREREQ_DIR),$(wildcard $(dir)/*.c))
|
|
PREREQ_CPP += $(foreach dir,$(PREREQ_DIR),$(wildcard $(dir)/*.c)) \
|
|
$(foreach dir,$(PREREQ_DIR),$(wildcard $(dir)/*.cpp))
|
|
PREREQ_CSRC += $(PREREQ_H) $(PREREQ_C) $(PREREQ_CPP)
|
|
|
|
CONTRIB_MOD += $(addprefix contrib/,$(CONTRIB_LIBS))
|
|
REQUIRED := $(CONTRIB_MOD) $(REQUIRED)
|
|
|
|
REQUIRED_DIR += $(patsubst %,$(MODDIR)/%,$(REQUIRED))
|
|
REQUIRED_DONE += $(patsubst %,%/all.done,$(REQUIRED_DIR))
|
|
REQUIRED_H += $(foreach dir,$(REQUIRED_DIR),$(wildcard $(dir)/*.h))
|
|
REQUIRED_C += $(foreach dir,$(REQUIRED_DIR),$(wildcard $(dir)/*.c))
|
|
REQUIRED_CPP += $(foreach dir,$(REQUIRED_DIR),$(wildcard $(dir)/*.cpp)) \
|
|
$(foreach dir,$(PREREQ_DIR),$(wildcard $(dir)/*.cpp))
|
|
REQUIRED_CSRC += $(REQUIRED_H) $(REQUIRED_C) $(REQUIRED_CPP)
|
|
|
|
ALL_C += $(LOCAL_C) $(PREREQ_CPP)
|
|
ALL_CPP += $(LOCAL_CPP) $(PREREQ_CPP)
|
|
ALL_CSRC += $(LOCAL_CSRC) $(PREREQ_CSRC)
|
|
|
|
FTP_PCKG_DIR = /pub/packages
|
|
JANNET_PROJ_DIR = rsync_ssh://ftp.jannet.de:/home/ftp/dat$(FTP_PCKG_DIR)
|
|
UPLOAD_URL_RPM_BIN = rsync_ssh://ftp.jannet.de:/home/ftp/dat/pub/packages/rpm/bin/
|
|
UPLOAD_URL_RPM_SRC = rsync_ssh://ftp.jannet.de:/home/ftp/dat/pub/packages/rpm/src/
|
|
|
|
IMAGES += $(wildcard *.png *.jpg *.bmp)
|
|
|
|
# -- standard dirs and files for build and install
|
|
|
|
# -- CFG
|
|
CONFIG_FILE ?= $(CONFIG_DIR)/$(PROJECT).conf
|
|
SYSCONFIG_FILE ?= $(SYSCONFIG_DIR)/$(PROJECT)
|
|
BUILD_CFGDIR = $(TOPDIR)/conf
|
|
INSTALL_CFGDIR = $(CONFIG_DIR)
|
|
INSTALLED_CFG ?= $(addprefix $(INSTALL_CFGDIR)/,$(wildcard *.conf))
|
|
|
|
# -- SYSCFG
|
|
SYSCFG_FILES += $(basename $(wildcard *.sysconf))
|
|
BUILD_SYSCFG = $(TOPDIR)/conf
|
|
INSTALL_SYSCFGDIR = $(SYSCONFIG_PREFIX)
|
|
INSTALLED_SYSCFG ?= $(addprefix $(INSTALL_SYSCFGDIR)/,$(SYSCFG_FILES))
|
|
|
|
# -- HDR
|
|
# why both SRC_H <-> LOCAL_H?
|
|
BUILD_HDRDIR = $(TOPDIR)/include
|
|
LOCAL_H += $(wildcard *.h *.H)
|
|
SRC_H += $(filter %.h %.H, $(SRC_ALL_CPP))
|
|
BUILD_H += $(patsubst %.h,$(TOPDIR)/include/%.h,$(SRC_H))
|
|
PREREQ_H += $(foreach dir,$(PREREQ_DIR),$(wildcard $(dir)/*.h))
|
|
ALL_H += $(LOCAL_H) $(PREREQ_H)
|
|
BUILD_HDR = $(addprefix $(BUILD_HDRDIR)/,$(SRC_H))
|
|
INSTALL_HDRDIR ?= $(PREFIX)/include
|
|
INSTALLED_HDR += $(addprefix $(INSTALL_HDRDIR)/,$(SRC_H))
|
|
|
|
# -- DOC
|
|
DOCS += $(wildcard VERSION README CHANGES TODO LICENSE AUTHORS CREDITS *.pdf *.txt *.html)
|
|
DOCSUBDIRS += $(wildcard html tex info examples src)
|
|
|
|
BUILD_DOCDIR ?= $(TOPDIR)/doc
|
|
BUILD_DOC ?= $(DOC_PREFIX)
|
|
# TODO: use INSTALL_DOCDIR ?= $(DOC_PREFIX) which currently would break
|
|
# <MODULE>_VERSION below
|
|
INSTALL_DOCDIR ?= $(PREFIX)
|
|
INSTALLED_DOC ?= $(addprefix $(INSTALL_DOCDIR)/,$(DOCS))
|
|
|
|
# -- LIB
|
|
BUILD_LIBDIR = $(TOPDIR)/lib
|
|
LIBNAME ?= $(PROJECT)
|
|
LIBTYPE ?= shared
|
|
MEMBERS += $(LIB_A)($(OBJ))
|
|
INSTALL_LIBDIR ?= $(EXE_PREFIX)/lib
|
|
VERSION_SCRIPT = $(BUILD_LIBDIR)/version.ldscript
|
|
# TODO: use something like this as unifying variable, there are far too many
|
|
# lib-related variables
|
|
LOCAL_LIBS +=
|
|
ifneq ($(TARGET),mingw)
|
|
SHOBJS += $(patsubst %.cpp,lib%.so,$(patsubst %.cc,lib%.so,$(patsubst %.c,lib%.so,$(SRC_ALL_CPP))))
|
|
LIB_A = $(BUILD_LIBDIR)/lib$(LIBNAME).a
|
|
SO_SUFFIX = so.$(shell echo $(VERSION) | cut -d- -f1)
|
|
LIB_SO = $(BUILD_LIBDIR)/lib$(LIBNAME).$(SO_SUFFIX)
|
|
LINKS_SO += $(shell echo $(LIB_SO) | sed -e "s/\.so\..*$$/.so/" | grep -v $(LIB_SO))
|
|
INSTALLED_LINKS_SO += $(shell echo $(INSTALLED_LIB_SO) | sed -e "s/\.so\..*$$/.so/" | grep -v $(INSTALLED_LIB_SO))
|
|
INSTALLED_LIB_SO = $(INSTALL_LIBDIR)/lib$(LIBNAME).$(SO_SUFFIX)
|
|
INSTALLED_LIB_A = $(INSTALL_LIBDIR)/lib$(LIBNAME).a
|
|
INSTALLED_DEF = $(addprefix $(INSTALL_LIBDIR)/,$(wildcard *.lib *.def *.exp))
|
|
else
|
|
LIB_A = $(BUILD_LIBDIR)/lib$(LIBNAME)-static.a
|
|
SO_SUFFIX = dll
|
|
LIB_DEF = $(BUILD_LIBDIR)/$(LIBNAME).def
|
|
MSVCPP_IMPLIB = $(BUILD_LIBDIR)/$(LIBNAME).lib
|
|
LIB_SO = $(BUILD_LIBDIR)/$(LIBNAME).dll
|
|
INSTALLED_LIB_SO = $(INSTALL_LIBDIR)/$(LIBNAME).$(SO_SUFFIX)
|
|
INSTALLED_LIB_A = $(INSTALL_LIBDIR)/lib$(LIBNAME).a
|
|
endif
|
|
INSTALLED_LIB += $(addprefix $(INSTALL_LIBDIR)/,$(LOCAL_LIBS))
|
|
BUILD_LIB += $(addprefix $(BUILD_LIBDIR)/,$(LOCAL_LIBS))
|
|
INSTALLED_SHOBJS += $(addprefix $(INSTALL_LIBDIR)/,$(SHOBJS))
|
|
INSTALLED_ALL_LIBS = $(addprefix $(INSTALL_LIBDIR)/,$(wildcard *.a))
|
|
INSTALLED_LIB += $(INSTALLED_LIB_SO) $(INSTALLED_SHOBJS) \
|
|
$(INSTALLED_LINKS_SO) $(sort $(INSTALLED_LIB_A) $(INSTALLED_ALL_LIBS)) \
|
|
$(INSTALLED_DEF)
|
|
BUILD_LIB += $(LIB_SO)
|
|
|
|
# -- PI
|
|
BUILD_PIDIR = $(BUILD_LIBDIR)
|
|
BUILD_PI = $(addprefix $(BUILD_PIDIR)/,$(PLUGIN))
|
|
INSTALL_PIDIR = $(INSTALL_LIBDIR)
|
|
INSTALLED_PI = $(addprefix $(INSTALL_PIDIR)/,$(PLUGIN))
|
|
|
|
# -- EXE
|
|
EXE_ALL += $(EXE) $(wildcard *.a *.dll *.so *.so.*)
|
|
BUILD_EXE_BIN += $(addprefix $(BUILD_EXEDIR)/,$(EXE))
|
|
INSTALLED_EXE_BIN += $(addprefix $(INSTALL_EXEDIR)/,$(EXE_BIN))
|
|
|
|
BUILD_EXEDIR = $(TOPDIR)/bin
|
|
INSTALL_EXEDIR ?= $(EXE_PREFIX)/bin
|
|
BUILD_EXE += $(BUILD_EXE_BIN)
|
|
INSTALLED_EXE += $(INSTALL_EXEDIR)/$(EXE) $(INSTALLED_EXE_BIN)
|
|
|
|
# -- SCRIPT
|
|
EXE_SH += $(wildcard *.sh *.pl *.pm *.bat)
|
|
EXE_SH += $(patsubst %.sh.tmpl,%.sh,$(wildcard *.sh.tmpl))
|
|
|
|
BUILD_SCRIPTDIR = $(TOPDIR)/bin
|
|
INSTALL_SCRIPTDIR = $(EXE_PREFIX)/bin
|
|
BUILD_SCRIPT += $(addprefix $(BUILD_SCRIPTDIR)/,$(EXE_SH))
|
|
INSTALLED_SCRIPT += $(addprefix $(INSTALL_EXEDIR)/,$(EXE_SH))
|
|
|
|
# -- INIT
|
|
BUILD_INITDIR = $(TOPDIR)/bin
|
|
INSTALL_INITDIR = $(INIT_PREFIX)/init.d
|
|
_INIT_SCRIPTS = $(basename $(wildcard *.init))
|
|
INIT_SCRIPTS += $(_INIT_SCRIPTS)
|
|
BUILD_INIT += $(addprefix $(BUILD_INITDIR)/,$(INIT_SCRIPTS))
|
|
INSTALLED_INIT += $(addprefix $(INSTALL_INITDIR)/,$(INIT_SCRIPTS))
|
|
|
|
# -- MAKE
|
|
BUILD_MAKEDIR = $(TOPDIR)/make
|
|
MKFILES += $(filter-out local.mk,$(wildcard *.mk))
|
|
INSTALL_MAKEDIR ?= $(PREFIX)/make
|
|
INSTALLED_MAKE += $(addprefix $(INSTALL_MAKEDIR)/,$(MKFILES))
|
|
|
|
# -- IMG
|
|
BUILD_IMG ?=
|
|
BUILD_IMGDIR ?= $(TOPDIR)/images
|
|
INSTALL_IMGDIR ?= $(IMG_PREFIX)/images
|
|
INSTALLED_IMG ?= $(addprefix $(INSTALL_IMGDIR)/,$(IMAGES))
|
|
|
|
# -- LOG
|
|
BUILD_LOGDIR ?= $(TOPDIR)/log
|
|
BUILD_LOG ?=
|
|
INSTALL_LOGDIR ?= $(LOG_PREFIX)/$(PROJECT)
|
|
INSTALLED_LOG ?=
|
|
|
|
# -- PROFILE
|
|
# TODO: path_ file is omnipresent
|
|
BUILD_PROFILEDIR = $(TOPDIR)/profile.d
|
|
#PROFILE += path_$(PROJECT).sh
|
|
INSTALL_PROFILEDIR ?= $(PROFILE_DIR)
|
|
INSTALLED_PROFILE ?= $(addprefix $(INSTALL_PROFILEDIR)/,$(PROFILE))
|
|
|
|
# -- JAVA
|
|
BUILD_JAVADIR = $(TOPDIR)/share/java
|
|
BUILD_JAVADIR_CLASSES = classes
|
|
JAVA_JARS ?= $(wildcard *.jar)
|
|
INSTALL_JAVADIR ?= $(JAVADIR)
|
|
INSTALLED_JAVA ?= $(addprefix $(INSTALL_JAVADIR)/,$(JAVA_JARS))
|
|
|
|
# -- LD_CONF
|
|
ifneq ($(TARGET),mingw)
|
|
LD_CONF += ld-$(PROJECT).conf
|
|
INSTALL_LD_CONFDIR = $(LD_CONF_DIR)
|
|
INSTALLED_LD_CONF = $(addprefix $(INSTALL_LD_CONFDIR)/,$(LD_CONF))
|
|
endif
|
|
|
|
# ==
|
|
|
|
ifeq ($(DEVELOPMENT),true)
|
|
CFLAGS += -D_DEVELOPMENT_
|
|
CPPFLAGS += -D_DEVELOPMENT_
|
|
endif
|
|
|
|
CORE += $(wildcard core core.* vgcore vgcore.*)
|
|
|
|
ifeq ($(GCC_MAJOR),4)
|
|
CFLAGS += -DGCC_HASCLASSVISIBILITY
|
|
CPPFLAGS += -DGCC_HASCLASSVISIBILITY
|
|
endif
|
|
|
|
ifeq ($(USE_QT),true)
|
|
include $(MODDIR)/make/qt-defs.mk
|
|
endif
|
|
|
|
ifeq ($(USE_X),true)
|
|
ifeq ($(ARCH),x86)
|
|
LDFLAGS += -L/usr/X11/lib -lXext -lX11
|
|
else
|
|
LDFLAGS += -L/usr/X11/lib64 -lXext -lX11
|
|
endif
|
|
endif
|
|
|
|
LPPFLAGS += -lstdc++
|
|
|
|
ifeq ($(ARCH),x86_64)
|
|
CFLAGS += -fPIC
|
|
CPPFLAGS += -fPIC
|
|
LIBFLAGS +=
|
|
endif
|
|
|
|
ifeq ($(GCC_MAJOR),2)
|
|
LPPFLAGS += -lm
|
|
CFLAGS += -I/usr/local/include
|
|
CPPFLAGS += -I/usr/local/include
|
|
else
|
|
ifeq ($(GCC_MAJOR),3)
|
|
ifeq ($(GCC_MINOR),3)
|
|
LPPFLAGS += -lgcc_s
|
|
# LPPFLAGS += -L/usr/local/gcc3.3/lib
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(LIBTYPE),shared)
|
|
ifneq ($(TARGET),mingw)
|
|
LDFLAGS += -rdynamic
|
|
endif
|
|
endif
|
|
|
|
# TODO: this shoud be only conditional, but breaks, because not all headers
|
|
# do a conditional include of timer headers, yet
|
|
GENERATE_FUNC_TIMERS = $(MODDIR)/YStopWatchThreadList/generate_func_timers.sh
|
|
|
|
RM = rm
|
|
AR = ar
|
|
|
|
ifeq ($(LOG_THREAD_NAMES), true)
|
|
CFLAGS += -DSLOG_THREAD_NAMES
|
|
CPPFLAGS += -DSLOG_THREAD_NAMES
|
|
endif
|
|
|
|
ifdef INSTALL_LOG
|
|
INSTALL=$(MOD_SCRIPT_DIR)/log_install.sh -l $(INSTALL_LOG)
|
|
LINK_LIB=$(MOD_SCRIPT_DIR)/log_install.sh -L -l $(INSTALL_LOG)
|
|
else
|
|
ifndef INSTALL
|
|
INSTALL = install
|
|
endif
|
|
ifndef LINK_LIB
|
|
LINK_LIB=$(MOD_SCRIPT_DIR)/log_install.sh -L
|
|
endif
|
|
endif
|
|
|
|
|
|
# ----- function definitions
|
|
|
|
define make_subdirs
|
|
set -e; for D in $(SUBDIRS) ; do make -C $$D ; done
|
|
endef
|
|
|
|
define make_subdirs_target
|
|
set -e; for D in $(SUBDIRS) ; do make -C $$D $@; done
|
|
endef
|
|
|
|
define install_local_cfg
|
|
$(INSTALL) -o $(CFGOWNER) -g $(CFGGROUP) -m $(CFGMODE) $< $@
|
|
endef
|
|
|
|
define cvs_files
|
|
for d in `find . | sed '/CVS\/Entries$$/ !d; s%CVS/Entries%%'`; do \
|
|
sed "/^\// !d; s%^/%%; s%/.*%%; s%^%$$d%" $$d/CVS/Entries ;\
|
|
done | sort
|
|
endef
|
|
|
|
define add_flavour_prefix
|
|
sed "s/\([^ ][^ ]*\) *\([<>=]*\) *\([^ ]*\)/$(FLAVOUR_PREFIX)\1 \2 \3/g"
|
|
endef
|
|
|
|
define beautify_lib_path
|
|
sed 's/:/\n + /g'
|
|
endef
|
|
|
|
#$(shell cat $1/VERSION | sed 's/-dev//; s/-[^-]*$$//')
|
|
define cat_version
|
|
$(shell cat $1/VERSION | sed 's/-dev//')
|
|
endef
|
|
|
|
define version
|
|
$(shell cat $1/VERSION | sed 's/-.*//')
|
|
endef
|
|
|
|
# ----- local.mk
|
|
|
|
ifneq ($(wildcard $(MODDIR)/make/local.mk),)
|
|
include $(MODDIR)/make/local.mk
|
|
endif
|
|
|
|
ifneq ($(wildcard $(TOPDIR)/make/local.mk),)
|
|
include $(TOPDIR)/make/local.mk
|
|
endif
|
|
|
|
ifneq ($(wildcard local.mk),)
|
|
include local.mk
|
|
endif
|
|
|
|
# ----- standard features, switched on with USE_XXX = true
|
|
|
|
CPP ?= g++
|
|
|
|
ifeq ($(USE_GFILTER),true)
|
|
GFILT = sh $(firstword $(wildcard $(MODDIR)/contrib/gfilt/gfilt $(MODDIR)/bin/gfilt))
|
|
ifneq ($(strip $(GFILT)),sh)
|
|
GPP = $(GFILT)
|
|
endif
|
|
endif
|
|
|
|
CC = $(GCC)
|
|
CPP = $(GPP)
|
|
|
|
ifeq ($(USE_PROJECT_LIB),true)
|
|
PROJECTLIB_LDFLAGS += -l$(LIBNAME) -L$(TOPDIR)/lib
|
|
LD_LIB_PATH += $(TOPDIR)/lib
|
|
endif
|
|
|
|
ifeq ($(USE_YTOOLS),true)
|
|
ifeq ($(TARGET),mingw)
|
|
YTOOLS_LDFLAGS += -lglib-2.0 -lws2_32 -lstdc++
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(USE_TIMER),true)
|
|
CFLAGS += -D_USE_TIMER_
|
|
CPPFLAGS += -D_USE_TIMER_
|
|
endif
|
|
|
|
ifeq ($(USE_GCOV),true)
|
|
CFLAGS += --coverage
|
|
CPPFLAGS += --coverage
|
|
LDFLAGS += --coverage
|
|
endif
|
|
|
|
ifeq ($(USE_PROFILER),true)
|
|
CFLAGS += -pg
|
|
CPPFLAGS += -pg
|
|
LDFLAGS += -pg
|
|
endif
|
|
|
|
ifeq ($(USE_YAMD),true)
|
|
CC = yamd-gcc
|
|
endif
|
|
|
|
ifeq ($(USE_MPATROL),true)
|
|
CFLAGS += -include /usr/include/mpatrol.h
|
|
#CPPFLAGS += -include /usr/include/mpatrol.h
|
|
LDFLAGS += -lmpatrolmt -lbfd -liberty
|
|
endif
|
|
|
|
ifeq ($(USE_VALGRIND),true)
|
|
CFLAGS += -include /usr/include/valgrind/memcheck.h -D_VALGRIND_
|
|
CPPFLAGS += -include /usr/include/valgrind/memcheck.h -D_VALGRIND_
|
|
# LDFLAGS +=
|
|
endif
|
|
|
|
ifeq ($(USE_STACK_PROTECTOR),true)
|
|
CFLAGS += -fstack-protector-all
|
|
# CFLAGS += -fstack-protector
|
|
endif
|
|
|
|
ifeq ($(USE_DBMALLOC),true)
|
|
CONTRIB_LIBS += dbmalloc
|
|
CFLAGS += -DDBMALLOC -DEXITFUN=_exit -I$(TOPDIR)/contrib/dbmalloc
|
|
CPPFLAGS += -DDBMALLOC -DEXITFUN=_exit -I$(TOPDIR)/contrib/dbmalloc
|
|
LDFLAGS += -ldbmalloc
|
|
endif
|
|
|
|
ifeq ($(USE_DMALLOC),true)
|
|
CFLAGS += -DDMALLOC -DDMALLOC_FUNC_CHECK -DSTORE_SEEN_COUNT
|
|
CPPFLAGS += -DDMALLOC -DDMALLOC_FUNC_CHECK -DSTORE_SEEN_COUNT
|
|
LDFLAGS += -ldmallocthcxx -ldmallocth
|
|
endif
|
|
|
|
ifeq ($(USE_MEMWATCH),true)
|
|
CFLAGS += -DMEMWATCH -DMW_STDIO
|
|
CPPFLAGS += -DMEMWATCH -DMW_STDIO
|
|
endif
|
|
|
|
ifeq ($(USE_EFENCE),true)
|
|
CFLAGS += -DEFENCE
|
|
CPPFLAGS += -DEFENCE
|
|
LDFLAGS += -lefence
|
|
endif
|
|
|
|
ifeq ($(USE_TRACING),true)
|
|
CFLAGS += -D_DO_TRACE_
|
|
CPPFLAGS += -D_DO_TRACE_
|
|
endif
|
|
|
|
ifeq ($(USE_ASSERTIONS),false)
|
|
CFLAGS += -DNDEBUG
|
|
CPPFLAGS += -DNDEBUG
|
|
endif
|
|
|
|
ifeq ($(COMPILE_DEBUG_CODE),true)
|
|
CFLAGS += -D_DEBUG_
|
|
CPPFLAGS += -D_DEBUG_
|
|
endif
|
|
|
|
ifeq ($(COMPILE_DEBUG_LOG),true)
|
|
CFLAGS += -D_LOG_DEBUG_
|
|
CPPFLAGS += -D_LOG_DEBUG_
|
|
endif
|
|
|
|
ifeq ($(USE_MPATROL),true)
|
|
CFLAGS += -include $(MODDIR)/include/mpatrol.h
|
|
CPPFLAGS += -include $(MODDIR)/include/mpatrol.h
|
|
LDFLAGS += -lmpatrolmt -lbfd -liberty
|
|
endif
|
|
|
|
ifeq ($(USE_STACK_CHECK),true)
|
|
CFLAGS += -fstack-check
|
|
CPPFLAGS += -fstack-check
|
|
endif
|
|
|
|
ifeq ($(USE_COMPILER_DEBUG_OPTS),true)
|
|
CFLAGS += -Wall -g3 -fexceptions
|
|
CPPFLAGS += -Wall -g3
|
|
LDFLAGS += -Wall -g3
|
|
endif
|
|
|
|
ifeq ($(USE_COMPILER_OPTIMIZATION_OPTS),true)
|
|
CFLAGS += -funroll-loops -O2
|
|
CPPFLAGS += -funroll-loops -O2
|
|
endif
|
|
|
|
ifeq ($(USE_EXCEPTIONS_IN_C),true)
|
|
CFLAGS += -fexceptions
|
|
LDFLAGS += -shared-libgcc
|
|
endif
|
|
|
|
ifeq ($(STRIP_SYMBOLS),true)
|
|
STRIP_DONE ?= strip.done
|
|
endif
|
|
|
|
INCLUDE += $(LOCAL_INCLUDE) -I. $(PROJECT_INCLUDE) -I$(TOPDIR)/include
|
|
LIBFLAGS += $(LOCAL_LDFLAGS) -L$(BUILD_LIBDIR)
|
|
|
|
# -- use of supplementary libraries
|
|
|
|
ifeq ($(USE_CCASFS),true)
|
|
CCASFS_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/dspc/src/ccasfs /opt/$(FLAVOUR_PATH_PREFIX)dspider/ccasfs))
|
|
CCASFS_VERSION = $(call version,$(CCASFS_DIR))
|
|
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)dspider-ccasfs-run = $(CCASFS_VERSION)
|
|
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)dspider-ccasfs-devel = $(CCASFS_VERSION)
|
|
USE_YTOOLS = true
|
|
INCLUDE += -I$(CCASFS_DIR)/include
|
|
#LIBFLAGS += -L$(CCONSOLE_DIR)/lib -lcconsole
|
|
endif
|
|
|
|
ifeq ($(USE_CCONSOLE),true)
|
|
CCONSOLE_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/dspc/src/cconsole /opt/$(FLAVOUR_PATH_PREFIX)dspider/cconsole))
|
|
CCONSOLE_VERSION = $(call version,$(CCONSOLE_DIR))
|
|
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)dspider-cconsole-run = $(CCONSOLE_VERSION)
|
|
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)dspider-cconsole-devel = $(CCONSOLE_VERSION)
|
|
USE_YTOOLS = true
|
|
INCLUDE += -I$(CCONSOLE_DIR)/include
|
|
#LIBFLAGS += -L$(CCONSOLE_DIR)/lib -lcconsole
|
|
endif
|
|
|
|
ifeq ($(USE_DSPCD),true)
|
|
DSPCD_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/dspc/src/dspcd /opt/$(FLAVOUR_PATH_PREFIX)dspider/dspcd))
|
|
DSPCD_EXE_PREFIX = $(firstword $(wildcard $(CVS_PROJ_DIR)/dspc/src/dspcd /opt/$(FLAVOUR_PATH_PREFIX)dspider))
|
|
# include $(DSPCD_DIR)/make/public.mk
|
|
DSPIDER_DSPCD_VERSION = $(call version,$(DSPCD_DIR))
|
|
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)dspider-dspcd-run = $(DSPIDER_DSPCD_VERSION)
|
|
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)dspider-dspcd-devel = $(DSPIDER_DSPCD_VERSION)
|
|
USE_YTOOLS = true
|
|
USE_DSPIDER_SHARED = true
|
|
USE_USERVER = true
|
|
USE_XCHANGE = true
|
|
INCLUDE += -I$(DSPCD_DIR)/include
|
|
LIBFLAGS += -L$(DSPCD_EXE_PREFIX)/lib -ldspcd
|
|
endif
|
|
|
|
ifeq ($(USE_DSPROUT),true)
|
|
DSPROUT_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/dspc/src/dsprout /opt/dspider/$(FLAVOUR_PATH_PREFIX)dsprout))
|
|
DSPROUT_EXE_PREFIX = $(firstword $(wildcard $(CVS_PROJ_DIR)/dspc/src/dsprout /opt/$(FLAVOUR_PATH_PREFIX)dspider))
|
|
DSPROUT_VERSION = $(call version,$(DSPROUT_DIR))
|
|
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)dsprout-run = $(DSPROUT_VERSION)
|
|
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)dsprout-devel = $(DSPROUT_VERSION)
|
|
USE_YTOOLS = true
|
|
USE_DSPIDER_SHARED = true
|
|
USE_XCHANGE = true
|
|
USE_USERVER = true
|
|
INCLUDE += -I$(DSPROUT_DIR)/include
|
|
LIBFLAGS += -L$(DSPROUT_EXE_PREFIX)/lib -ldsprout
|
|
endif
|
|
|
|
ifeq ($(USE_DSPIDER_SHARED),true)
|
|
DSPIDER_SHARED_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/dspc/src/shared /opt/$(FLAVOUR_PATH_PREFIX)dspider/shared))
|
|
DSPIDER_SHARED_EXE_PREFIX = $(firstword $(wildcard $(CVS_PROJ_DIR)/dspc/src/shared /opt/$(FLAVOUR_PATH_PREFIX)dspider))
|
|
#include $(DSPIDER_SHARED_DIR)/make/public.mk
|
|
DSPIDER_SHARED_VERSION = $(call version,$(DSPIDER_SHARED_DIR))
|
|
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)dspider-shared-run = $(DSPIDER_SHARED_VERSION)
|
|
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)dspider-shared-devel = $(DSPIDER_SHARED_VERSION)
|
|
USE_YTOOLS = true
|
|
INCLUDE += -I$(DSPIDER_SHARED_DIR)/include
|
|
LIBFLAGS += -L$(DSPIDER_SHARED_EXE_PREFIX)/lib -ldspider-shared
|
|
endif
|
|
|
|
ifeq ($(USE_FEEDFS_GUI),true)
|
|
FEEDFS_GUI_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/feedfs-gui /opt/$(FLAVOUR_PATH_PREFIX)feedfs-gui))
|
|
FEEDFS_GUI_VERSION = $(call version,$(FEEDFS_GUI_DIR))
|
|
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)feedfs-gui-run = $(FEEDFS_GUI_VERSION)
|
|
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)feedfs-gui-devel = $(FEEDFS_GUI_VERSION)
|
|
USE_FEEDFS_UTILS = true
|
|
USE_FEEDFS = true
|
|
USE_YTOOLS = true
|
|
INCLUDE += -I$(FEEDFS_GUI_DIR)/include
|
|
LIBFLAGS += -L$(FEEDFS_GUI_DIR)/lib -lfeedfs-gui
|
|
endif
|
|
|
|
ifeq ($(USE_FEEDFS_UTILS),true)
|
|
FEEDFS_UTILS_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/feedfs-utils /opt/$(FLAVOUR_PATH_PREFIX)feedfs-utils))
|
|
FEEDFS_UTILS_VERSION = $(call version,$(FEEDFS_UTILS_DIR))
|
|
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)feedfs-utils-run = $(FEEDFS_UTILS_VERSION)
|
|
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)feedfs-utils-devel = $(FEEDFS_UTILS_VERSION)
|
|
USE_FEEDFS = true
|
|
USE_YTOOLS = true
|
|
INCLUDE += -I$(FEEDFS_UTILS_DIR)/include
|
|
LIBFLAGS += -L$(FEEDFS_UTILS_DIR)/lib -lfeedfs-utils
|
|
endif
|
|
|
|
ifeq ($(USE_FEEDFS),true)
|
|
FEEDFS_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/dspc/src/feedfs /opt/$(FLAVOUR_PATH_PREFIX)feedfs))
|
|
FEEDFS_VERSION = $(call version,$(FEEDFS_DIR))
|
|
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)feedfs-run = $(FEEDFS_VERSION)
|
|
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)feedfs-devel = $(FEEDFS_VERSION)
|
|
USE_YTOOLS = true
|
|
USE_XCHANGE = true
|
|
INCLUDE += -I$(FEEDFS_DIR)/include
|
|
LIBFLAGS += -L$(FEEDFS_DIR)/lib -lfeedfs
|
|
endif
|
|
|
|
ifeq ($(USE_USERVER),true)
|
|
USERVER_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/userver /opt/$(FLAVOUR_PATH_PREFIX)userver))
|
|
USERVER_VERSION = $(call version,$(USERVER_DIR))
|
|
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)userver-run = $(USERVER_VERSION)
|
|
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)userver-devel = $(USERVER_VERSION)
|
|
USE_XCHANGE = true
|
|
USE_YTOOLS = true
|
|
INCLUDE += -I$(USERVER_DIR)/include
|
|
LIBFLAGS += -L$(USERVER_DIR)/lib -luserver
|
|
endif
|
|
|
|
ifeq ($(USE_XCHANGE),true)
|
|
XCHANGE_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/xchange /opt/$(FLAVOUR_PATH_PREFIX)xchange))
|
|
XCHANGE_VERSION = $(call version,$(XCHANGE_DIR))
|
|
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)xchange-run = $(XCHANGE_VERSION)
|
|
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)xchange-devel = $(XCHANGE_VERSION)
|
|
USE_YTOOLS = true
|
|
INCLUDE += -I$(XCHANGE_DIR)/include
|
|
LIBFLAGS += -L$(XCHANGE_DIR)/lib -lxchange
|
|
endif
|
|
|
|
ifeq ($(USE_BTOOLS),true)
|
|
BTOOLS_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/btools /opt/$(FLAVOUR_PATH_PREFIX)btools))
|
|
BTOOLS_VERSION = $(call version,$(BTOOLS_DIR))
|
|
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)dspider-btools-run = $(BTOOLS_VERSION)
|
|
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)dspider-btools-devel = $(BTOOLS_VERSION)
|
|
USE_YTOOLS = true
|
|
INCLUDE += -I$(BTOOLS_DIR)/include
|
|
LIBFLAGS += -L$(BTOOLS_DIR)/lib -ldspider-btools
|
|
endif
|
|
|
|
ifeq ($(USE_JACKJART),true)
|
|
JACKJART_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/dspc/src/io/jackjart /opt/$(FLAVOUR_PATH_PREFIX)dspider/jackjart))
|
|
JACKJART_VERSION = $(call version,$(JACKJART_DIR))
|
|
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)jackjart-run = $(JACKJART_VERSION)
|
|
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)jackjart-devel = $(JACKJART_VERSION)
|
|
USE_YTOOLS = true
|
|
INCLUDE += -I$(JACKJART_DIR)/include
|
|
LIBFLAGS += -L$(JACKJART_DIR)/lib -ldspider-jackjart
|
|
endif
|
|
|
|
ifeq ($(USE_JACKRTAI),true)
|
|
JACKRTAI_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/dspc/src/io/jackrtai /opt/$(FLAVOUR_PATH_PREFIX)dspider/jackrtai))
|
|
JACKRTAI_VERSION = $(call version,$(JACKRTAI_DIR))
|
|
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)jackrtai-run = $(JACKRTAI_VERSION)
|
|
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)jackrtai-devel = $(JACKRTAI_VERSION)
|
|
USE_YTOOLS = true
|
|
INCLUDE += -I$(JACKRTAI_DIR)/include
|
|
LIBFLAGS += -L$(JACKRTAI_DIR)/lib -ldspider-jackrtai
|
|
endif
|
|
|
|
ifeq ($(USE_JACKDUMMY),true)
|
|
JACKDUMMY_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/dspc/src/io/jackdummy /opt/$(FLAVOUR_PATH_PREFIX)dspider/jackdummy))
|
|
JACKDUMMY_VERSION = $(call version,$(JACKDUMMY_DIR))
|
|
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)jackdummy-run = $(JACKDUMMY_VERSION)
|
|
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)jackdummy-devel = $(JACKDUMMY_VERSION)
|
|
USE_YTOOLS = true
|
|
INCLUDE += -I$(JACKDUMMY_DIR)/include
|
|
LIBFLAGS += -L$(JACKDUMMY_DIR)/lib -ldspider-jackdummy
|
|
endif
|
|
|
|
ifeq ($(USE_ALSART),true)
|
|
ALSART_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/dspc/src/io/alsart /opt/$(FLAVOUR_PATH_PREFIX)dspider/alsart))
|
|
ALSART_VERSION = $(call version,$(ALSART_DIR))
|
|
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)alsart-run = $(ALSART_VERSION)
|
|
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)alsart-devel = $(ALSART_VERSION)
|
|
USE_YTOOLS = true
|
|
INCLUDE += -I$(ALSART_DIR)/include
|
|
LIBFLAGS += -L$(ALSART_DIR)/lib -lalsart
|
|
endif
|
|
|
|
ifeq ($(USE_DSPFS),true)
|
|
DSPFS_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/dspfs /opt/$(FLAVOUR_PATH_PREFIX)dspfs))
|
|
DSPFS_VERSION = $(call version,$(DSPFS_DIR))
|
|
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)dspfs-run = $(DSPFS_VERSION)
|
|
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)dspfs-devel = $(DSPFS_VERSION)
|
|
USE_YTOOLS = true
|
|
INCLUDE += -I$(DSPFS_DIR)/include
|
|
LIBFLAGS += -L$(DSPFS_DIR)/lib -ldspfs
|
|
endif
|
|
|
|
ifeq ($(USE_YTOOLS),true)
|
|
ifneq ($(PROJECT),ytools)
|
|
YTOOLS_DIR = $(firstword $(wildcard $(CVS_PROJ_DIR)/ytools /opt/$(FLAVOUR_PATH_PREFIX)ytools))
|
|
else
|
|
YTOOLS_DIR = $(TOPDIR)
|
|
endif
|
|
YTOOLS_VERSION = $(call version,$(YTOOLS_DIR))
|
|
ifneq ($(PROJECT),ytools)
|
|
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)ytools-run = $(YTOOLS_VERSION)
|
|
RPM_REQUIRES_DEVEL += $(FLAVOUR_PREFIX)ytools-devel = $(YTOOLS_VERSION)
|
|
endif
|
|
INCLUDE += -I$(YTOOLS_DIR)/include
|
|
LIBFLAGS += -L$(YTOOLS_DIR)/lib -lytools
|
|
endif
|
|
|
|
ifeq ($(USE_SCOPE_CASMIX),true)
|
|
SCOPE_CASMIX_DIR = /opt/scope-casmix
|
|
SCOPE_CASMIX_VERSION = $(call version,/usr/share/doc/packages/scope-casmix-devel)
|
|
RPM_REQUIRES_RUN += $(FLAVOUR_PREFIX)scope-casmix >= $(SCOPE_CASMIX_VERSION)
|
|
RPM_REQUIRES_DEVEL += scope-casmix-devel >= $(SCOPE_CASMIX_VERSION)
|
|
INCLUDE += -I$(SCOPE_CASMIX_DIR)/include
|
|
LIBFLAGS += -L$(SCOPE_CASMIX_DIR)/lib -lscope-casmix
|
|
endif
|
|
|
|
ifeq ($(USE_SNDFILE),true)
|
|
LIBFLAGS += -lsndfile
|
|
endif
|
|
|
|
ifeq ($(USE_FFTW),true)
|
|
LIBFLAGS += -lfftw3
|
|
endif
|
|
|
|
ifeq ($(USE_GLIB),true)
|
|
ifneq ($(TARGET),mingw)
|
|
ifeq ($(ARCH),x86)
|
|
PROJECT_CFLAGS += $(shell PKG_CONFIG_PATH=/opt/gnome/lib/pkgconfig pkg-config --cflags glib-2.0)
|
|
PROJECT_CPPFLAGS += $(shell PKG_CONFIG_PATH=/opt/gnome/lib/pkgconfig pkg-config --cflags glib-2.0)
|
|
LIBFLAGS += $(shell PKG_CONFIG_PATH=/opt/gnome/lib/pkgconfig pkg-config --libs glib-2.0)
|
|
endif
|
|
ifeq ($(ARCH),x86_64)
|
|
PROJECT_CFLAGS += $(shell export PKG_CONFIG_PATH=/opt/gnome/lib64/pkgconfig; pkg-config --cflags glib-2.0)
|
|
PROJECT_CPPFLAGS += $(shell export PKG_CONFIG_PATH=/opt/gnome/lib64/pkgconfig; pkg-config --cflags glib-2.0)
|
|
LIBFLAGS += $(shell export PKG_CONFIG_PATH=/opt/gnome/lib64/pkgconfig; pkg-config --libs glib-2.0)
|
|
endif
|
|
LIBFLAGS += -ldl -lpthread
|
|
else
|
|
INCLUDE += -I$(CROSS_TOOL_DIR)/include/glib-2.0 -I$(CROSS_TOOL_DIR)/lib/glib-2.0/include
|
|
LIBFLAGS += -lglib-2.0
|
|
endif
|
|
endif
|
|
|
|
CFLAGS += $(LOCAL_CFLAGS) $(PROJECT_CFLAGS) $(INCLUDE)
|
|
CPPFLAGS += $(LOCAL_CPPFLAGS) $(PROJECT_CPPFLAGS) $(INCLUDE)
|
|
LDFLAGS += $(LOCAL_LDFLAGS) $(PROJECTLIB_LDFLAGS) $(PROJECT_LDFLAGS) $(LPPFLAGS) $(LIBFLAGS)
|
|
#RPM_REQUIRES = $(shell echo "$(RPM_REQUIRES_RUN) $(RPM_REQUIRES_DEVEL)" | $(add_flavour_prefix))
|
|
RPM_REQUIRES += $(RPM_REQUIRES_RUN) $(RPM_REQUIRES_DEVEL)
|
|
NEW_LD_LIB_PATH = $(shell echo $(LDFLAGS) | sed 's/[ ]-[^L] *[^ ]*/ /g; s/-L[ ]*\([^ ]*\)[ ]*/\1:/g')
|
|
|