mirror of https://github.com/sipwise/sems.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
170 lines
3.4 KiB
170 lines
3.4 KiB
|
|
#version number
|
|
VERSION = 0
|
|
PATCHLEVEL = 10
|
|
SUBLEVEL = 0
|
|
EXTRAVERSION =
|
|
|
|
RELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
|
|
|
|
LD_FLAGS = -lm
|
|
|
|
OS = $(shell uname -s | sed -e s/SunOS/solaris/ | tr "[A-Z]" "[a-z]")
|
|
|
|
ifeq ($(OS),solaris)
|
|
GETARCH=uname -p
|
|
else
|
|
GETARCH=uname -m
|
|
endif
|
|
|
|
ARCH := $(shell $(GETARCH) |sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
|
|
-e s/armv4l/arm/ -e "s/Power Macintosh/ppc/" \
|
|
-e "s/cobalt/mips2/" \
|
|
-e s/amd64/x86_64/ )
|
|
# fix sparc -> sparc64
|
|
ifeq ($(ARCH),sparc)
|
|
ifeq ($(shell uname -m),sun4u)
|
|
ARCH := sparc64
|
|
endif
|
|
endif
|
|
|
|
# need OS specific for this ?
|
|
GPP ?= g++
|
|
GCC ?= gcc
|
|
|
|
CXX_FLAGS = -Wall -Wno-reorder -fPIC -g \
|
|
-O2 \
|
|
-D_DEBUG \
|
|
-D_THREAD_SAFE -D_REENTRANT \
|
|
-DVERSION='"$(RELEASE)"' -DARCH='"$(ARCH)"'\
|
|
-DOS='"$(OS)"' \
|
|
# -DSUPPORT_IPV6
|
|
|
|
C_FLAGS = -Wall -fPIC -g \
|
|
-O2 \
|
|
-D_DEBUG \
|
|
-D_THREAD_SAFE -D_REENTRANT \
|
|
-DVERSION='"$(RELEASE)"' -DARCH='"$(ARCH)"'\
|
|
-DOS='"$(OS)"' \
|
|
# -DSUPPORT_IPV6
|
|
|
|
TARGET =
|
|
ifeq ($(OS), linux)
|
|
LD_FLAGS += -ldl -rdynamic -lpthread
|
|
else
|
|
ifeq ($(OS), freebsd)
|
|
LD_FLAGS += -rdynamic -pthread
|
|
else
|
|
ifeq ($(OS), openbsd)
|
|
LD_FLAGS += -rdynamic -pthread
|
|
else
|
|
ifeq ($(OS), netbsd)
|
|
LD_FLAGS += -rdynamic -pthread
|
|
else
|
|
LD_FLAGS+= -ldl -lsocket -lnsl -lpthread
|
|
TARGET=solaris
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
LIB_LD_FLAGS = $(LD_FLAGS) -shared
|
|
|
|
# install path is $(basedir) $(prefix)
|
|
# example:
|
|
# creating a bin. archive in /tmp, which unpacks in /usr/local
|
|
# basedir=/tmp
|
|
# prefix=/usr/local
|
|
|
|
DESTDIR ?= /usr/local
|
|
PREFIX ?= $(DESTDIR)
|
|
LOCALBASE ?= /usr/local
|
|
prefix = $(PREFIX)
|
|
BASEDIR ?=
|
|
basedir = $(BASEDIR)
|
|
|
|
# Redhat users should use sems.redhat instead of sems
|
|
# the file will be to $(bin-prefix)/$(bin-dir)/sems copied.
|
|
start-script = sems.redhat
|
|
|
|
# install prefixes for various stuff
|
|
cfg-prefix = $(basedir)$(prefix)
|
|
bin-prefix = $(basedir)$(prefix)
|
|
modules-prefix = $(basedir)$(prefix)
|
|
doc-prefix = $(basedir)$(prefix)
|
|
audio-prefix = $(basedir)$(prefix)
|
|
|
|
# dirs
|
|
cfg-dir = etc/sems/
|
|
|
|
bin-dir = sbin/
|
|
modules-dir = lib/sems/plug-in/
|
|
audio-dir = lib/sems/audio/
|
|
|
|
ifeq ($(OS), linux)
|
|
doc-dir = share/doc/sems/
|
|
man-dir = share/man/
|
|
else
|
|
ifeq ($(OS), freebsd)
|
|
doc-dir = share/doc/sems/
|
|
man-dir = man/
|
|
else
|
|
ifeq ($(OS), openbsd)
|
|
doc-dir = share/doc/sems/
|
|
man-dir = man/
|
|
else
|
|
ifeq ($(OS), netbsd)
|
|
doc-dir = share/doc/sems
|
|
man-dir = man/
|
|
else
|
|
doc-dir = doc/sems/
|
|
man-dir = man/
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
# target dirs for various stuff
|
|
bin-target = $(prefix)/$(bin-dir)
|
|
cfg-target = $(prefix)/$(cfg-dir)
|
|
modules-target = $(prefix)/$(modules-dir)
|
|
audio-target = $(prefix)/$(audio-dir)
|
|
|
|
ifeq ($(OS), solaris)
|
|
#use GNU versions
|
|
INSTALL ?= ginstall
|
|
TAR ?= gtar
|
|
else
|
|
INSTALL ?= install
|
|
TAR ?= tar
|
|
endif
|
|
|
|
INSTALL-TOUCH = touch # used to create the file first (good to
|
|
# make solaris install work)
|
|
INSTALL-CFG = $(INSTALL) -m 644
|
|
INSTALL-BIN = $(INSTALL) -m 755
|
|
INSTALL-MODULES = $(INSTALL) -m 755
|
|
INSTALL-DOC = $(INSTALL) -m 644
|
|
INSTALL-AUDIO = $(INSTALL) -m 644
|
|
|
|
|
|
mk-install-dirs: $(cfg-prefix)/$(cfg-dir) $(bin-prefix)/$(bin-dir) \
|
|
$(modules-prefix)/$(modules-dir) \
|
|
$(audio-prefix)/$(audio-dir) \
|
|
$(doc-prefix)/$(doc-dir)
|
|
|
|
$(cfg-prefix)/$(cfg-dir):
|
|
mkdir -p $(cfg-prefix)/$(cfg-dir)
|
|
|
|
$(bin-prefix)/$(bin-dir):
|
|
mkdir -p $(bin-prefix)/$(bin-dir)
|
|
|
|
$(modules-prefix)/$(modules-dir):
|
|
mkdir -p $(modules-prefix)/$(modules-dir)
|
|
|
|
$(audio-prefix)/$(audio-dir):
|
|
mkdir -p $(audio-prefix)/$(audio-dir)
|
|
|
|
$(doc-prefix)/$(doc-dir):
|
|
mkdir -p $(doc-prefix)/$(doc-dir)
|
|
|