Makefile revision 970
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder###############################################################################
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder#
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder# synergy 1.x Makefile
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder#
b87efd3db0d2dc41615ea28669faf80fc1b48d56Corneliu-Claudiu Prodescu# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder#
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder# Permission is hereby granted, free of charge, to any person obtaining a
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder# copy of this software and associated documentation files (the "Software"),
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder# to deal in the Software without restriction, including without limitation
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder# the rights to use, copy, modify, merge, publish, distribute, sublicense,
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder# and/or sell copies of the Software, and to permit persons to whom the
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder# Software is furnished to do so, subject to the following conditions:
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder#
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder# The above copyright notice and this permission notice (including the next
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder# paragraph) shall be included in all copies or substantial portions of the
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder# Software.
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder#
f5ba1df84889802c56bf5c6dec99310bc72aab35Christian Maeder# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
02e5bf5178eac4fd9365cce27d04133bd1b44b50Christian Maeder# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
f5ba1df84889802c56bf5c6dec99310bc72aab35Christian Maeder# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder# DEALINGS IN THE SOFTWARE.
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder#
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder#
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder# Package name used in tarballs
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian MaederMODULE_NAME=synergy
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder# pkg(5) name we deliver the files in (override default)
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian MaederMODULE_PKGNAME=desktop/synergy
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian MaederMODULE_PKGNAME_SET=yes
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder# Package classification (override default)
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian MaederMODULE_PKGCLASS=Applications/System Utilities
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian MaederMODULE_PKGCLASS_SET=yes
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder# Package metadata
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian MaederUPSTREAM = Synergy
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian MaederUPSTREAM_URL = http://synergy2.sourceforge.net/
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian MaederUPSTREAM_SET = yes
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian MaederMODULE_LICENSE = GPLv2
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian MaederMODULE_LICENSE_SET = yes
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder# Version number (used in path names)
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian MaederMODULE_VERSION=1.3.1
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian Maeder# Checksums for upstream tarball
02e5bf5178eac4fd9365cce27d04133bd1b44b50Christian MaederTARBALL_MD5 = a6e09d6b71cb217f23069980060abf27
02e5bf5178eac4fd9365cce27d04133bd1b44b50Christian MaederTARBALL_SHA1 = 03113ec8aadfecaeba8e369b083f4fb5b44f5c62
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian Maeder
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian Maeder# Where to install synergy files
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian MaederMODULE_PREFIX=/usr
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian MaederMODULE_PREFIX_SET=yes
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian Maeder
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian Maeder# Source tarball
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian MaederSOURCE_TARBALL_NAME=synergy-$(MODULE_VERSION).tar.gz
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian MaederSOURCE_TARBALL_NAME_SET=yes
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian MaederSOURCE_UNCOMPRESS=gzcat
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian MaederSOURCE_UNCOMPRESS_SET=yes
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian Maeder
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian Maeder# Binaries built in tree
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian MaederSYNERGYS_BIN=$(SOURCE_DIR)/cmd/synergys/synergys
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian MaederSYNERGYC_BIN=$(SOURCE_DIR)/cmd/synergyc/synergyc
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian Maeder
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian MaederSYNERGY_DOC=$(SOURCE_DIR)/doc
d11226f9a86c35c7082cd29cd171ec59d829ffa0Christian Maeder
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian MaederINSTALL_TARGETS=install_synergys install_synergyc install_doc
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian MaederINSTALL_TARGETS_SET=yes
d11226f9a86c35c7082cd29cd171ec59d829ffa0Christian Maeder
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian MaederSOURCE_URL=$(SF_DOWNLOADS_URL)/synergy2/$(SOURCE_TARBALL_NAME)
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian MaederSOURCE_URL_SET=yes
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian Maeder
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian Maeder# Patches to apply to source after unpacking, in order
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian MaederSOURCE_PATCHES = \
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian Maeder configure.patch \
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian Maeder CConfig.h.patch \
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian Maeder CConfig.cpp.patch \
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian Maeder CKeyMap.cpp.patch \
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian Maeder CKeyState.cpp.patch \
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian Maeder CXWindowsClipboard.cpp.patch \
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian Maeder CXWindowsClipboard.h.patch \
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian Maeder CXWindowsKeyState.cpp.patch \
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian Maeder CXWindowsScreen.cpp.patch \
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian Maeder CArchConsoleUnix.cpp.patch
b9d9f251715a0786afc39a7a79e3ec3cc62a697fChristian Maeder
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian Maeder# Man pages to apply Sun footer to & attributes to list
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian Maeder#SUNTOUCHED_MANPAGES=man/*.man
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian MaederMODULE_STABILITY=Committed
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian Maeder
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian MaederUSE_DEFAULT_CONFIG_ENV=no
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian Maeder
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian MaederMODULE_CXXFLAGS = -m32
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian MaederMODULE_CXXFLAGS += -features=except,rtti,export,extensions,nestedaccess,tmplife,tmplrefstatic
d11226f9a86c35c7082cd29cd171ec59d829ffa0Christian MaederMODULE_CXXFLAGS += -instances=global -template=geninlinefuncs -verbose=template
d11226f9a86c35c7082cd29cd171ec59d829ffa0Christian MaederMODULE_CXXFLAGS += -xlang=c99 -xbuiltin=%none
d11226f9a86c35c7082cd29cd171ec59d829ffa0Christian MaederMODULE_CXXFLAGS += -Qoption ccfe -features=gcc
d11226f9a86c35c7082cd29cd171ec59d829ffa0Christian MaederMODULE_CXXFLAGS += -Qoption ccfe -features=zla
d11226f9a86c35c7082cd29cd171ec59d829ffa0Christian MaederMODULE_CXXFLAGS += -mt -D_REENTRANT -D__EXTENSIONS__ -D_LARGEFILE_SOURCE
67bbc7a1baf72322f967b9aeabe9fdbfad343d05Christian MaederMODULE_CXXFLAGS += -D_FILE_OFFSET_BITS=64
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian MaederMODULE_CXXFLAGS += -D_XPG5 -D_XOPEN_SOURCE=500
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian MaederMODULE_CXXFLAGS += -D_POSIX_PTHREAD_SEMANTICS
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian MaederMODULE_CXXFLAGS += -DPIC -KPIC -DSYSAPI_UNIX=1 -DWINAPI_XWINDOWS=1
cb26aa08ea668c555cc2916d682e072c4de73d9dChristian MaederMODULE_CPPFLAGS = -DSYSAPI_UNIX=1 \
cb26aa08ea668c555cc2916d682e072c4de73d9dChristian Maeder -DWINAPI_XWINDOWS=1 \
cb26aa08ea668c555cc2916d682e072c4de73d9dChristian Maeder -I$(PROTODIR)$(X11_INCLUDES_DIR) \
cb26aa08ea668c555cc2916d682e072c4de73d9dChristian Maeder -I$(PROTODIR)/usr/include \
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian Maeder -I$(PROTODIR)/usr/include/freetype2
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian MaederMODULE_LDFLAGS = -L$(PROTODIR)/usr/lib$(ARCHLIBSUBDIR) \
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder -L$(PROTODIR)$(X11_DIR)/lib$(ARCHLIBSUBDIR) \
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian Maeder -R$(X11_DIR)/lib$(ARCHLIBSUBDIR) \
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian Maeder -KPIC -Bdynamic -lc -lCrun -lCstd -lm \
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian Maeder -lsocket -lnsl -lgen -z combreloc -z ignore
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian MaederINSTALL = /usr/bin/ginstall -c
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian MaederMODULE_MAKE=$(GNUMAKE)
f5ba1df84889802c56bf5c6dec99310bc72aab35Christian MaederMODULE_MAKE_SET=yes
f5ba1df84889802c56bf5c6dec99310bc72aab35Christian MaederLD_OPTIONS = -lc -lCrun -lCstd -lm -lsocket -lnsl -lgen -z combreloc -z ignore
cb26aa08ea668c555cc2916d682e072c4de73d9dChristian Maeder
f5ba1df84889802c56bf5c6dec99310bc72aab35Christian MaederMODULE_ENV = \
02e5bf5178eac4fd9365cce27d04133bd1b44b50Christian Maeder CC="$(CC)" \
02e5bf5178eac4fd9365cce27d04133bd1b44b50Christian Maeder CXX="$(CXX)" \
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder CXXFLAGS="$(CXXFLAGS) $(MODULE_CXXFLAGS)" \
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder CPPFLAGS="$(MODULE_CPPFLAGS)" \
d11226f9a86c35c7082cd29cd171ec59d829ffa0Christian Maeder CPP="$(CC) -E $(MODULE_CPPFLAGS) $(CPPFLAGS)" \
d11226f9a86c35c7082cd29cd171ec59d829ffa0Christian Maeder CXXCPP="$(CXX) -E $(MODULE_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS)" \
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder LDFLAGS="$(MODULE_LDFLAGS)" \
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder LD="$(CXX) $(CXXFLAGS) $(LDFLAGS)" \
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian Maeder CXXLD="$(CXX) $(CXXFLAGS) $(LDFLAGS)" \
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian Maeder INSTALL="$(INSTALL)" \
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian Maeder MAKE=$(GNUMAKE) \
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian Maeder GNUMAKE=$(GNUMAKE) \
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian Maeder LD_OPTIONS="$(LD_OPTIONS)"
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian Maeder
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian MaederMODULE_CONFIG_ENV = $(MODULE_ENV)
6a1e513ba9fc1eb782165bcbbebea030524c896eChristian MaederMODULE_BUILD_ENV = $(CONFIG_ENV)
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maeder
7ce7e7613d5f66523dfee99cec72dc92c579e91bChristian Maederinclude ../Makefile.inc
d11226f9a86c35c7082cd29cd171ec59d829ffa0Christian Maeder
d11226f9a86c35c7082cd29cd171ec59d829ffa0Christian MaederDESTDIR=$(PROTODIR)
f5ba1df84889802c56bf5c6dec99310bc72aab35Christian Maeder
f5ba1df84889802c56bf5c6dec99310bc72aab35Christian Maederinstall_synergys: $(SYNERGYS_BIN)
f5ba1df84889802c56bf5c6dec99310bc72aab35Christian Maeder mkdir -p $(DESTDIR)$(MODULE_PREFIX)/bin
f5ba1df84889802c56bf5c6dec99310bc72aab35Christian Maeder cp -pf $(SYNERGYS_BIN) $(DESTDIR)$(MODULE_PREFIX)/bin
f5ba1df84889802c56bf5c6dec99310bc72aab35Christian Maeder
f5ba1df84889802c56bf5c6dec99310bc72aab35Christian Maederinstall_synergyc: $(SYNERGYC_BIN)
f5ba1df84889802c56bf5c6dec99310bc72aab35Christian Maeder mkdir -p $(DESTDIR)$(MODULE_PREFIX)/bin
f5ba1df84889802c56bf5c6dec99310bc72aab35Christian Maeder cp -pf $(SYNERGYC_BIN) $(DESTDIR)$(MODULE_PREFIX)/bin
f5ba1df84889802c56bf5c6dec99310bc72aab35Christian Maeder
f5ba1df84889802c56bf5c6dec99310bc72aab35Christian Maeder$(SYNERGYS_BIN): $(BUILD_TARGETS)
$(SYNERGYC_BIN): $(BUILD_TARGETS)
DOC_AREA=$(DESTDIR)$(MODULE_PREFIX)/share/doc/synergy
# Doc all in html format
install_doc: $(INSTALL_DEPS)
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