Makefile revision 851
70N/A###############################################################################
70N/A#
70N/A# synergy 1.x Makefile
70N/A#
761N/A# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
761N/A# Use subject to license terms.
70N/A#
70N/A# Permission is hereby granted, free of charge, to any person obtaining a
70N/A# copy of this software and associated documentation files (the
70N/A# "Software"), to deal in the Software without restriction, including
70N/A# without limitation the rights to use, copy, modify, merge, publish,
70N/A# distribute, and/or sell copies of the Software, and to permit persons
70N/A# to whom the Software is furnished to do so, provided that the above
70N/A# copyright notice(s) and this permission notice appear in all copies of
70N/A# the Software and that both the above copyright notice(s) and this
70N/A# permission notice appear in supporting documentation.
70N/A#
70N/A# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
70N/A# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
70N/A# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
70N/A# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
70N/A# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
70N/A# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
70N/A# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
70N/A# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
70N/A# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
70N/A#
70N/A# Except as contained in this notice, the name of a copyright holder
70N/A# shall not be used in advertising or otherwise to promote the sale, use
70N/A# or other dealings in this Software without prior written authorization
70N/A# of the copyright holder.
70N/A#
851N/A# @(#)Makefile 1.1 09/09/17
70N/A#
70N/A
70N/A# Package name used in tarballs
493N/AMODULE_NAME=synergy
70N/A
70N/A# Version number (used in path names)
851N/AMODULE_VERSION=1.3.1
70N/A
70N/A# Where to install synergy files
70N/AMODULE_PREFIX=/usr
70N/AMODULE_PREFIX_SET=yes
70N/A
70N/A# Source tarball
70N/ASOURCE_TARBALL_NAME=synergy-$(MODULE_VERSION).tar.gz
70N/ASOURCE_TARBALL_NAME_SET=yes
70N/ASOURCE_UNCOMPRESS=gzcat
70N/ASOURCE_UNCOMPRESS_SET=yes
493N/A
70N/A# Binaries built in tree
70N/ASYNERGYS_BIN=$(SOURCE_DIR)/cmd/synergys/synergys
493N/ASYNERGYC_BIN=$(SOURCE_DIR)/cmd/synergyc/synergyc
70N/A
70N/ASYNERGY_DOC=$(SOURCE_DIR)/doc
70N/A
70N/AINSTALL_TARGETS=install_synergys install_synergyc install_doc
70N/AINSTALL_TARGETS_SET=yes
SOURCE_URL=$(SF_DOWNLOADS_URL)/synergy2/$(SOURCE_TARBALL_NAME)
SOURCE_URL_SET=yes
# Patches to apply to source after unpacking, in order
SOURCE_PATCHES = \
configure.patch \
CConfig.h.patch \
CConfig.cpp.patch \
CKeyMap.cpp.patch \
CKeyState.cpp.patch \
CXWindowsClipboard.cpp.patch \
CXWindowsKeyState.cpp.patch \
CXWindowsScreen.cpp.patch \
CArchConsoleUnix.cpp.patch
# Man pages to apply Sun footer to & attributes to list
#SUNTOUCHED_MANPAGES=man/*.man
SUN_PACKAGE=SUNWsynergy
MODULE_STABILITY=Committed
USE_DEFAULT_CONFIG_ENV=no
MODULE_CXXFLAGS = -m32
MODULE_CXXFLAGS += -features=except,rtti,export,extensions,nestedaccess,tmplife,tmplrefstatic
MODULE_CXXFLAGS += -instances=global -template=geninlinefuncs -verbose=template
MODULE_CXXFLAGS += -xlang=c99 -xbuiltin=%none
MODULE_CXXFLAGS += -Qoption ccfe -features=gcc
MODULE_CXXFLAGS += -Qoption ccfe -features=zla
MODULE_CXXFLAGS += -mt -D_REENTRANT -D__EXTENSIONS__ -D_LARGEFILE_SOURCE
MODULE_CXXFLAGS += -D_FILE_OFFSET_BITS=64
MODULE_CXXFLAGS += -D_XPG5 -D_XOPEN_SOURCE=500
MODULE_CXXFLAGS += -D_POSIX_PTHREAD_SEMANTICS
MODULE_CXXFLAGS += -DPIC -KPIC -DSYSAPI_UNIX=1 -DWINAPI_XWINDOWS=1
MODULE_CPPFLAGS = -DSYSAPI_UNIX=1 \
-DWINAPI_XWINDOWS=1 \
-I$(PROTODIR)$(X11_INCLUDES_DIR) \
-I$(PROTODIR)/usr/include \
-I$(PROTODIR)/usr/include/freetype2
MODULE_LDFLAGS = -L$(PROTODIR)/usr/lib$(ARCHLIBSUBDIR) \
-L$(PROTODIR)$(X11_DIR)/lib$(ARCHLIBSUBDIR) \
-R$(X11_DIR)/lib$(ARCHLIBSUBDIR) \
-KPIC -Bdynamic -lc -lCrun -lCstd -lm \
-lsocket -lnsl -lgen -z combreloc -z ignore
INSTALL = /usr/bin/ginstall -c
MODULE_MAKE=$(GNUMAKE)
MODULE_MAKE_SET=yes
LD_OPTIONS = -lc -lCrun -lCstd -lm -lsocket -lnsl -lgen -z combreloc -z ignore
MODULE_ENV = \
CC="$(CC)" \
CXX="$(CXX)" \
CXXFLAGS="$(CXXFLAGS) $(MODULE_CXXFLAGS)" \
CPPFLAGS="$(MODULE_CPPFLAGS)" \
CPP="$(CC) -E $(MODULE_CPPFLAGS) $(CPPFLAGS)" \
CXXCPP="$(CXX) -E $(MODULE_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS)" \
LDFLAGS="$(MODULE_LDFLAGS)" \
LD="$(CXX) $(CXXFLAGS) $(LDFLAGS)" \
CXXLD="$(CXX) $(CXXFLAGS) $(LDFLAGS)" \
INSTALL="$(INSTALL)" \
MAKE=$(GNUMAKE) \
GNUMAKE=$(GNUMAKE) \
LD_OPTIONS="$(LD_OPTIONS)"
MODULE_CONFIG_ENV = $(MODULE_ENV)
MODULE_BUILD_ENV = $(CONFIG_ENV)
include ../Makefile.inc
install_gen:: $(INSTALL_TARGETS)
DESTDIR=$(PROTODIR)
install_synergys: $(SYNERGYS_BIN)
mkdir -p $(DESTDIR)$(MODULE_PREFIX)/bin
cp -pf $(SYNERGYS_BIN) $(DESTDIR)$(MODULE_PREFIX)/bin
install_synergyc: $(SYNERGYC_BIN)
mkdir -p $(DESTDIR)$(MODULE_PREFIX)/bin
cp -pf $(SYNERGYC_BIN) $(DESTDIR)$(MODULE_PREFIX)/bin
DOC_AREA=$(DESTDIR)$(MODULE_PREFIX)/share/doc/synergy
# Doc all in html format
install_doc:
mkdir -p $(DOC_AREA)
mkdir -p $(DOC_AREA)/images
cp -pf $(SYNERGY_DOC)/about.html $(DOC_AREA)
cp -pf $(SYNERGY_DOC)/authors.html $(DOC_AREA)
cp -pf $(SYNERGY_DOC)/autostart.html $(DOC_AREA)
cp -pf $(SYNERGY_DOC)/banner.html $(DOC_AREA)
cp -pf $(SYNERGY_DOC)/border.html $(DOC_AREA)
cp -pf $(SYNERGY_DOC)/compiling.html $(DOC_AREA)
cp -pf $(SYNERGY_DOC)/configuration.html $(DOC_AREA)
cp -pf $(SYNERGY_DOC)/contact.html $(DOC_AREA)
cp -pf $(SYNERGY_DOC)/developer.html $(DOC_AREA)
cp -pf $(SYNERGY_DOC)/faq.html $(DOC_AREA)
cp -pf $(SYNERGY_DOC)/history.html $(DOC_AREA)
cp -pf $(SYNERGY_DOC)/home.html $(DOC_AREA)
cp -pf $(SYNERGY_DOC)/index.html $(DOC_AREA)
cp -pf $(SYNERGY_DOC)/license.html $(DOC_AREA)
cp -pf $(SYNERGY_DOC)/news.html $(DOC_AREA)
cp -pf $(SYNERGY_DOC)/roadmap.html $(DOC_AREA)
cp -pf $(SYNERGY_DOC)/running.html $(DOC_AREA)
cp -pf $(SYNERGY_DOC)/security.html $(DOC_AREA)
cp -pf $(SYNERGY_DOC)/tips.html $(DOC_AREA)
cp -pf $(SYNERGY_DOC)/toc.html $(DOC_AREA)
cp -pf $(SYNERGY_DOC)/trouble.html $(DOC_AREA)
cp -pf $(SYNERGY_DOC)/images/logo.gif $(DOC_AREA)/images
cp -pf $(SYNERGY_DOC)/images/warp.gif $(DOC_AREA)/images