Makefile revision 970
180319f572fb6c1ca7000d22ea79a8dd77ae3f91Evan Hunt###############################################################################
180319f572fb6c1ca7000d22ea79a8dd77ae3f91Evan Hunt#
180319f572fb6c1ca7000d22ea79a8dd77ae3f91Evan Hunt# synergy 1.x Makefile
180319f572fb6c1ca7000d22ea79a8dd77ae3f91Evan Hunt#
180319f572fb6c1ca7000d22ea79a8dd77ae3f91Evan Hunt# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
7c73ac5e130db18837724ab53d46b23ddb98ce6eMark Andrews#
9ba4efa4ac6d2d687cf1377bc9733d08d84da64cMark Andrews# Permission is hereby granted, free of charge, to any person obtaining a
7c73ac5e130db18837724ab53d46b23ddb98ce6eMark Andrews# copy of this software and associated documentation files (the "Software"),
0c2313eb367de3b58801d643d52c0fd9bc0e5df7Evan Hunt# to deal in the Software without restriction, including without limitation
0c2313eb367de3b58801d643d52c0fd9bc0e5df7Evan Hunt# the rights to use, copy, modify, merge, publish, distribute, sublicense,
0c2313eb367de3b58801d643d52c0fd9bc0e5df7Evan Hunt# and/or sell copies of the Software, and to permit persons to whom the
0c2313eb367de3b58801d643d52c0fd9bc0e5df7Evan Hunt# Software is furnished to do so, subject to the following conditions:
0c2313eb367de3b58801d643d52c0fd9bc0e5df7Evan Hunt#
11649973111d83027faf08ed4fb36a2b3c29c875Mark Andrews# The above copyright notice and this permission notice (including the next
11649973111d83027faf08ed4fb36a2b3c29c875Mark Andrews# paragraph) shall be included in all copies or substantial portions of the
74745c760c8ac4462aceb2fa6e55bc545621c66dEvan Hunt# Software.
74745c760c8ac4462aceb2fa6e55bc545621c66dEvan Hunt#
74745c760c8ac4462aceb2fa6e55bc545621c66dEvan Hunt# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
905ba39e10a8f483d167b992ec31f4c0bf34326eMark Andrews# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
905ba39e10a8f483d167b992ec31f4c0bf34326eMark Andrews# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
087b3e8d90c482600c20f1bd6958697419c4e77dEvan Hunt# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
087b3e8d90c482600c20f1bd6958697419c4e77dEvan Hunt# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24aaa0440116357eef3ab3796ebe53318b03b1ecEvan Hunt# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24aaa0440116357eef3ab3796ebe53318b03b1ecEvan Hunt# DEALINGS IN THE SOFTWARE.
24aaa0440116357eef3ab3796ebe53318b03b1ecEvan Hunt#
a0707b6acf359b78e06fd06228ebeec5758e7e1dJeremy C. Reed#
a0707b6acf359b78e06fd06228ebeec5758e7e1dJeremy C. Reed
840d6a4614f6a561fc076d0797d144e9f28e06bcMark Andrews# Package name used in tarballs
840d6a4614f6a561fc076d0797d144e9f28e06bcMark AndrewsMODULE_NAME=synergy
251be6e99493754700f868e0021c48b82d1c670cMark Andrews
d4859b0b2a0510d8c4f3c48c606a5568a3b0c1d8Mark Andrews# pkg(5) name we deliver the files in (override default)
53f91cbd80dc353ecb7e8914dae84a6cd85c67c6Mark AndrewsMODULE_PKGNAME=desktop/synergy
53f91cbd80dc353ecb7e8914dae84a6cd85c67c6Mark AndrewsMODULE_PKGNAME_SET=yes
eeb13c7cd2ddde29b8605b9444451ea6e235e06aEvan Hunt
eeb13c7cd2ddde29b8605b9444451ea6e235e06aEvan Hunt# Package classification (override default)
eeb13c7cd2ddde29b8605b9444451ea6e235e06aEvan HuntMODULE_PKGCLASS=Applications/System Utilities
eeb13c7cd2ddde29b8605b9444451ea6e235e06aEvan HuntMODULE_PKGCLASS_SET=yes
eeb13c7cd2ddde29b8605b9444451ea6e235e06aEvan Hunt
cef76ee5bd845a80e06da934edce4225bdba22a1Mark Andrews# Package metadata
cef76ee5bd845a80e06da934edce4225bdba22a1Mark AndrewsUPSTREAM = Synergy
3d66a979b531b8549b412d9b592a6906fbb40143Mark AndrewsUPSTREAM_URL = http://synergy2.sourceforge.net/
e0421bf2c57e3bb8cee8fa33470bfcf450305867Evan HuntUPSTREAM_SET = yes
3d66a979b531b8549b412d9b592a6906fbb40143Mark Andrews
3d66a979b531b8549b412d9b592a6906fbb40143Mark AndrewsMODULE_LICENSE = GPLv2
fea81a5e0e9485b24262b6a7271a4643a4d2bad4Tinderbox UserMODULE_LICENSE_SET = yes
d90344224afc80459778e4c3412fd1f9463e24d4Mark Andrews
d90344224afc80459778e4c3412fd1f9463e24d4Mark Andrews# Version number (used in path names)
f5695ad0e1a6cc8e19bfec7b71476e138de6cb6cMark AndrewsMODULE_VERSION=1.3.1
f5695ad0e1a6cc8e19bfec7b71476e138de6cb6cMark Andrews
f5695ad0e1a6cc8e19bfec7b71476e138de6cb6cMark Andrews# Checksums for upstream tarball
f5695ad0e1a6cc8e19bfec7b71476e138de6cb6cMark AndrewsTARBALL_MD5 = a6e09d6b71cb217f23069980060abf27
58f1ac8dadf2c1f215343a0b2d1df2df954c4b19Mark AndrewsTARBALL_SHA1 = 03113ec8aadfecaeba8e369b083f4fb5b44f5c62
58f1ac8dadf2c1f215343a0b2d1df2df954c4b19Mark Andrews
58f1ac8dadf2c1f215343a0b2d1df2df954c4b19Mark Andrews# Where to install synergy files
58f1ac8dadf2c1f215343a0b2d1df2df954c4b19Mark AndrewsMODULE_PREFIX=/usr
5244e505adc08719e1387392c6eb85c453729256Mark AndrewsMODULE_PREFIX_SET=yes
5244e505adc08719e1387392c6eb85c453729256Mark Andrews
cfe32752a66fe1f050d5ed7ddce75f6d58fe1637Evan Hunt# Source tarball
cfe32752a66fe1f050d5ed7ddce75f6d58fe1637Evan HuntSOURCE_TARBALL_NAME=synergy-$(MODULE_VERSION).tar.gz
cfe32752a66fe1f050d5ed7ddce75f6d58fe1637Evan HuntSOURCE_TARBALL_NAME_SET=yes
493f3eb297ea90ad2eb349591f1cb88194dce46dMark AndrewsSOURCE_UNCOMPRESS=gzcat
493f3eb297ea90ad2eb349591f1cb88194dce46dMark AndrewsSOURCE_UNCOMPRESS_SET=yes
c5734964e6400f9e6d8c3f057fcccab596929deaMark Andrews
c5734964e6400f9e6d8c3f057fcccab596929deaMark Andrews# Binaries built in tree
d0ffef73fdee75f30e33c628a31d031616ad9433Evan HuntSYNERGYS_BIN=$(SOURCE_DIR)/cmd/synergys/synergys
eaa2277753c6e7e642e83b2ccd27671a15336310Evan HuntSYNERGYC_BIN=$(SOURCE_DIR)/cmd/synergyc/synergyc
eaa2277753c6e7e642e83b2ccd27671a15336310Evan Hunt
eaa2277753c6e7e642e83b2ccd27671a15336310Evan HuntSYNERGY_DOC=$(SOURCE_DIR)/doc
43b9737b11f4f14b2d378746d0cd5561b1dc24a0Mark Andrews
4499a6a3063eceb1c412f5165b9c5b47d32d5a62Evan HuntINSTALL_TARGETS=install_synergys install_synergyc install_doc
a338c2d94781f676283f1b110f7802c71e2015bdMukund SivaramanINSTALL_TARGETS_SET=yes
fffcc1b13582447c9f94e498f4aaf43329c531d2Evan Hunt
3e90f6c373d2e6c9c9909b112468975c4c86544eMark AndrewsSOURCE_URL=$(SF_DOWNLOADS_URL)/synergy2/$(SOURCE_TARBALL_NAME)
3e90f6c373d2e6c9c9909b112468975c4c86544eMark AndrewsSOURCE_URL_SET=yes
3e90f6c373d2e6c9c9909b112468975c4c86544eMark Andrews
3e90f6c373d2e6c9c9909b112468975c4c86544eMark Andrews# Patches to apply to source after unpacking, in order
c38341ec435fb78de6d12c1001201f9ac7487b68Mark AndrewsSOURCE_PATCHES = \
c38341ec435fb78de6d12c1001201f9ac7487b68Mark Andrews configure.patch \
c38341ec435fb78de6d12c1001201f9ac7487b68Mark Andrews CConfig.h.patch \
4499a6a3063eceb1c412f5165b9c5b47d32d5a62Evan Hunt CConfig.cpp.patch \
d96f74a3cb6212ac9e4a7a0fa8924f850348eae9Mark Andrews CKeyMap.cpp.patch \
7712d1660a308ec3de17f1ddbbf801eb0d663f3eEvan Hunt CKeyState.cpp.patch \
7712d1660a308ec3de17f1ddbbf801eb0d663f3eEvan Hunt CXWindowsClipboard.cpp.patch \
7712d1660a308ec3de17f1ddbbf801eb0d663f3eEvan Hunt CXWindowsClipboard.h.patch \
b04839cfe21f131a8e7c7cae2a89e6ca8b678b5aMark Andrews CXWindowsKeyState.cpp.patch \
b04839cfe21f131a8e7c7cae2a89e6ca8b678b5aMark Andrews CXWindowsScreen.cpp.patch \
3a55d4352767acb4e0572aabfa917610001f5c9cMark Andrews CArchConsoleUnix.cpp.patch
3a55d4352767acb4e0572aabfa917610001f5c9cMark Andrews
bc5db10d721aa9bf570578e52e17371e67bfcf5cMark Andrews# Man pages to apply Sun footer to & attributes to list
bc5db10d721aa9bf570578e52e17371e67bfcf5cMark Andrews#SUNTOUCHED_MANPAGES=man/*.man
bc5db10d721aa9bf570578e52e17371e67bfcf5cMark AndrewsMODULE_STABILITY=Committed
e539e4370b95711606a269e69ccfc18fae8f9ce7Evan Hunt
70be3889746884692aa49939833d624ddd432bf0Mark AndrewsUSE_DEFAULT_CONFIG_ENV=no
70be3889746884692aa49939833d624ddd432bf0Mark Andrews
d586792059601b37b17a9b3e317f4595cb30d854Evan HuntMODULE_CXXFLAGS = -m32
2383eb527269d333df4222da20e4b422c3662daaEvan HuntMODULE_CXXFLAGS += -features=except,rtti,export,extensions,nestedaccess,tmplife,tmplrefstatic
2383eb527269d333df4222da20e4b422c3662daaEvan HuntMODULE_CXXFLAGS += -instances=global -template=geninlinefuncs -verbose=template
586db4a3e4664109fe8ce31fdd6a1b9c5bb67cbfMukund SivaramanMODULE_CXXFLAGS += -xlang=c99 -xbuiltin=%none
586db4a3e4664109fe8ce31fdd6a1b9c5bb67cbfMukund SivaramanMODULE_CXXFLAGS += -Qoption ccfe -features=gcc
275a8affe74d29d5fa51c9ba7172b90e9968199aMark AndrewsMODULE_CXXFLAGS += -Qoption ccfe -features=zla
275a8affe74d29d5fa51c9ba7172b90e9968199aMark AndrewsMODULE_CXXFLAGS += -mt -D_REENTRANT -D__EXTENSIONS__ -D_LARGEFILE_SOURCE
275a8affe74d29d5fa51c9ba7172b90e9968199aMark AndrewsMODULE_CXXFLAGS += -D_FILE_OFFSET_BITS=64
c6d2e19b964b304f1b0fd32d6faf43deca568979Evan HuntMODULE_CXXFLAGS += -D_XPG5 -D_XOPEN_SOURCE=500
6a6838f97363c7f3abe47e1fb116be2593bc53a5Mark AndrewsMODULE_CXXFLAGS += -D_POSIX_PTHREAD_SEMANTICS
6a6838f97363c7f3abe47e1fb116be2593bc53a5Mark AndrewsMODULE_CXXFLAGS += -DPIC -KPIC -DSYSAPI_UNIX=1 -DWINAPI_XWINDOWS=1
ac5ed748602c890d596bed07b0b23b8b5f42b2f6Mark AndrewsMODULE_CPPFLAGS = -DSYSAPI_UNIX=1 \
ac5ed748602c890d596bed07b0b23b8b5f42b2f6Mark Andrews -DWINAPI_XWINDOWS=1 \
ac5ed748602c890d596bed07b0b23b8b5f42b2f6Mark Andrews -I$(PROTODIR)$(X11_INCLUDES_DIR) \
ac5ed748602c890d596bed07b0b23b8b5f42b2f6Mark Andrews -I$(PROTODIR)/usr/include \
89cf81b4625c574f60c21e0dce12b150f3c5583cMark Andrews -I$(PROTODIR)/usr/include/freetype2
89cf81b4625c574f60c21e0dce12b150f3c5583cMark AndrewsMODULE_LDFLAGS = -L$(PROTODIR)/usr/lib$(ARCHLIBSUBDIR) \
89cf81b4625c574f60c21e0dce12b150f3c5583cMark Andrews -L$(PROTODIR)$(X11_DIR)/lib$(ARCHLIBSUBDIR) \
2064e46209f35d2afad526622d975647f9c2098bMark Andrews -R$(X11_DIR)/lib$(ARCHLIBSUBDIR) \
2064e46209f35d2afad526622d975647f9c2098bMark Andrews -KPIC -Bdynamic -lc -lCrun -lCstd -lm \
2064e46209f35d2afad526622d975647f9c2098bMark Andrews -lsocket -lnsl -lgen -z combreloc -z ignore
71ec6d09406771c0ad546d2d475a7f16c0198844Mark AndrewsINSTALL = /usr/bin/ginstall -c
71ec6d09406771c0ad546d2d475a7f16c0198844Mark AndrewsMODULE_MAKE=$(GNUMAKE)
71ec6d09406771c0ad546d2d475a7f16c0198844Mark AndrewsMODULE_MAKE_SET=yes
71ec6d09406771c0ad546d2d475a7f16c0198844Mark AndrewsLD_OPTIONS = -lc -lCrun -lCstd -lm -lsocket -lnsl -lgen -z combreloc -z ignore
a920fb9dc2ff16f32dd73e53469d0febcdcc6c11Mark Andrews
a920fb9dc2ff16f32dd73e53469d0febcdcc6c11Mark AndrewsMODULE_ENV = \
a920fb9dc2ff16f32dd73e53469d0febcdcc6c11Mark Andrews CC="$(CC)" \
3c13af375900ffe79af4926953799e6123c9d698Mark Andrews CXX="$(CXX)" \
3c13af375900ffe79af4926953799e6123c9d698Mark Andrews CXXFLAGS="$(CXXFLAGS) $(MODULE_CXXFLAGS)" \
3c13af375900ffe79af4926953799e6123c9d698Mark Andrews CPPFLAGS="$(MODULE_CPPFLAGS)" \
d734818278966c45af997c7242e8cccd7a91a0b3Mark Andrews CPP="$(CC) -E $(MODULE_CPPFLAGS) $(CPPFLAGS)" \
d734818278966c45af997c7242e8cccd7a91a0b3Mark Andrews CXXCPP="$(CXX) -E $(MODULE_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS)" \
d734818278966c45af997c7242e8cccd7a91a0b3Mark Andrews LDFLAGS="$(MODULE_LDFLAGS)" \
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrews LD="$(CXX) $(CXXFLAGS) $(LDFLAGS)" \
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrews CXXLD="$(CXX) $(CXXFLAGS) $(LDFLAGS)" \
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrews INSTALL="$(INSTALL)" \
63e1ac1e0915dd1089493d6d092d39a3da817e59Mark Andrews MAKE=$(GNUMAKE) \
89119e3cafff373426858f6cec7c09539f53e209Mark Andrews GNUMAKE=$(GNUMAKE) \
89119e3cafff373426858f6cec7c09539f53e209Mark Andrews LD_OPTIONS="$(LD_OPTIONS)"
89119e3cafff373426858f6cec7c09539f53e209Mark Andrews
33399d6a143403bc4a9ccb9307af43ef04ab7633Mark AndrewsMODULE_CONFIG_ENV = $(MODULE_ENV)
33399d6a143403bc4a9ccb9307af43ef04ab7633Mark AndrewsMODULE_BUILD_ENV = $(CONFIG_ENV)
33399d6a143403bc4a9ccb9307af43ef04ab7633Mark Andrews
ef117da20559f2a65f46ed9eb40deab5026cbd66Mark Andrewsinclude ../Makefile.inc
ef117da20559f2a65f46ed9eb40deab5026cbd66Mark Andrews
ef117da20559f2a65f46ed9eb40deab5026cbd66Mark AndrewsDESTDIR=$(PROTODIR)
ba5c73b383b08326ab6b5ad2d7ca43e117e212f1Mark Andrews
ba5c73b383b08326ab6b5ad2d7ca43e117e212f1Mark Andrewsinstall_synergys: $(SYNERGYS_BIN)
ba5c73b383b08326ab6b5ad2d7ca43e117e212f1Mark Andrews mkdir -p $(DESTDIR)$(MODULE_PREFIX)/bin
bf59efcf0ed41186a5f9c1ca61da15a3c99b46f3Mark Andrews cp -pf $(SYNERGYS_BIN) $(DESTDIR)$(MODULE_PREFIX)/bin
bf59efcf0ed41186a5f9c1ca61da15a3c99b46f3Mark Andrews
bf59efcf0ed41186a5f9c1ca61da15a3c99b46f3Mark Andrewsinstall_synergyc: $(SYNERGYC_BIN)
cac2181160bdb3ccc89e3560addae5e38d4c05e3Evan Hunt mkdir -p $(DESTDIR)$(MODULE_PREFIX)/bin
cac2181160bdb3ccc89e3560addae5e38d4c05e3Evan Hunt cp -pf $(SYNERGYC_BIN) $(DESTDIR)$(MODULE_PREFIX)/bin
faefeaddb39e693ea6cbcb81f2e5dbded21ced93Evan Hunt
faefeaddb39e693ea6cbcb81f2e5dbded21ced93Evan Hunt$(SYNERGYS_BIN): $(BUILD_TARGETS)
b8a9632333a92d73a503afe1aaa7990016c8bee9Evan Hunt$(SYNERGYC_BIN): $(BUILD_TARGETS)
b8a9632333a92d73a503afe1aaa7990016c8bee9Evan Hunt
b8a9632333a92d73a503afe1aaa7990016c8bee9Evan HuntDOC_AREA=$(DESTDIR)$(MODULE_PREFIX)/share/doc/synergy
b8a9632333a92d73a503afe1aaa7990016c8bee9Evan Hunt
b8a9632333a92d73a503afe1aaa7990016c8bee9Evan Hunt# Doc all in html format
b8a9632333a92d73a503afe1aaa7990016c8bee9Evan Huntinstall_doc: $(INSTALL_DEPS)
b8a9632333a92d73a503afe1aaa7990016c8bee9Evan Hunt mkdir -p $(DOC_AREA)
b8a9632333a92d73a503afe1aaa7990016c8bee9Evan Hunt mkdir -p $(DOC_AREA)/images
f5bb5eb7f6640af4a94e666bf1d7f84a6a7f1f23Mark Andrews cp -pf $(SYNERGY_DOC)/about.html $(DOC_AREA)
f5bb5eb7f6640af4a94e666bf1d7f84a6a7f1f23Mark Andrews cp -pf $(SYNERGY_DOC)/authors.html $(DOC_AREA)
f5bb5eb7f6640af4a94e666bf1d7f84a6a7f1f23Mark Andrews cp -pf $(SYNERGY_DOC)/autostart.html $(DOC_AREA)
a0d411c05f12c36b298d811af3b4f2c9f08e86d4Mark Andrews cp -pf $(SYNERGY_DOC)/banner.html $(DOC_AREA)
a0d411c05f12c36b298d811af3b4f2c9f08e86d4Mark Andrews cp -pf $(SYNERGY_DOC)/border.html $(DOC_AREA)
a0d411c05f12c36b298d811af3b4f2c9f08e86d4Mark Andrews cp -pf $(SYNERGY_DOC)/compiling.html $(DOC_AREA)
a0d411c05f12c36b298d811af3b4f2c9f08e86d4Mark Andrews cp -pf $(SYNERGY_DOC)/configuration.html $(DOC_AREA)
42782931073786f98d3d0a617351db40066949a4Mukund Sivaraman cp -pf $(SYNERGY_DOC)/contact.html $(DOC_AREA)
42782931073786f98d3d0a617351db40066949a4Mukund Sivaraman cp -pf $(SYNERGY_DOC)/developer.html $(DOC_AREA)
42782931073786f98d3d0a617351db40066949a4Mukund Sivaraman cp -pf $(SYNERGY_DOC)/faq.html $(DOC_AREA)
c1d33c159bf81d6faf9948ac9a6f307ca52284afEvan Hunt cp -pf $(SYNERGY_DOC)/history.html $(DOC_AREA)
c1d33c159bf81d6faf9948ac9a6f307ca52284afEvan Hunt cp -pf $(SYNERGY_DOC)/home.html $(DOC_AREA)
c1d33c159bf81d6faf9948ac9a6f307ca52284afEvan Hunt cp -pf $(SYNERGY_DOC)/index.html $(DOC_AREA)
06e0d6bb126e9986f29036e671b59f48b1d2efbcEvan Hunt cp -pf $(SYNERGY_DOC)/license.html $(DOC_AREA)
06e0d6bb126e9986f29036e671b59f48b1d2efbcEvan Hunt cp -pf $(SYNERGY_DOC)/news.html $(DOC_AREA)
06e0d6bb126e9986f29036e671b59f48b1d2efbcEvan Hunt cp -pf $(SYNERGY_DOC)/roadmap.html $(DOC_AREA)
06e0d6bb126e9986f29036e671b59f48b1d2efbcEvan Hunt cp -pf $(SYNERGY_DOC)/running.html $(DOC_AREA)
8d8f9f7f86a33a155dd74b9b2c1317afca555d54Evan Hunt cp -pf $(SYNERGY_DOC)/security.html $(DOC_AREA)
8d8f9f7f86a33a155dd74b9b2c1317afca555d54Evan Hunt cp -pf $(SYNERGY_DOC)/tips.html $(DOC_AREA)
8d8f9f7f86a33a155dd74b9b2c1317afca555d54Evan Hunt cp -pf $(SYNERGY_DOC)/toc.html $(DOC_AREA)
7c9d11b654028f9901183c076b37a5494635f447Evan Hunt cp -pf $(SYNERGY_DOC)/trouble.html $(DOC_AREA)
7c9d11b654028f9901183c076b37a5494635f447Evan Hunt cp -pf $(SYNERGY_DOC)/images/logo.gif $(DOC_AREA)/images
7c9d11b654028f9901183c076b37a5494635f447Evan Hunt cp -pf $(SYNERGY_DOC)/images/warp.gif $(DOC_AREA)/images
20dec973da306d5b0776c9d3b598fdbd3a59a28eMark Andrews