Makefile revision 860
5cd4555ad444fd391002ae32450572054369fd42Rob Austein###############################################################################
5cd4555ad444fd391002ae32450572054369fd42Rob Austein#
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# synergy 1.x Makefile
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington#
c1a883f2e04d94e99c433b1f6cfd0c0338f4ed85Mark Andrews# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Use subject to license terms.
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington#
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington# Permission is hereby granted, free of charge, to any person obtaining a
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington# copy of this software and associated documentation files (the
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington# "Software"), to deal in the Software without restriction, including
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington# without limitation the rights to use, copy, modify, merge, publish,
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# distribute, and/or sell copies of the Software, and to permit persons
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# to whom the Software is furnished to do so, provided that the above
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# copyright notice(s) and this permission notice appear in all copies of
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# the Software and that both the above copyright notice(s) and this
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# permission notice appear in supporting documentation.
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews#
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
f5d30e2864e048a42c4dc1134993ae7efdb5d6c3Mark Andrews# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
122c58bd11790c7576cdb1c6fd8e4439d0d7f7a5Mark Andrews# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
b5ad6dfea4cc3e7d1d322ac99f1e5a31096837c4Mark Andrews# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley#
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley# Except as contained in this notice, the name of a copyright holder
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley# shall not be used in advertising or otherwise to promote the sale, use
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley# or other dealings in this Software without prior written authorization
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley# of the copyright holder.
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley#
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley# @(#)Makefile 1.1 09/09/17
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley#
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley# Package name used in tarballs
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob HalleyMODULE_NAME=synergy
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# Version number (used in path names)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinMODULE_VERSION=1.3.1
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
c1a883f2e04d94e99c433b1f6cfd0c0338f4ed85Mark Andrews# Where to install synergy files
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinMODULE_PREFIX=/usr
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinMODULE_PREFIX_SET=yes
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# Source tarball
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinSOURCE_TARBALL_NAME=synergy-$(MODULE_VERSION).tar.gz
f5d30e2864e048a42c4dc1134993ae7efdb5d6c3Mark AndrewsSOURCE_TARBALL_NAME_SET=yes
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinSOURCE_UNCOMPRESS=gzcat
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinSOURCE_UNCOMPRESS_SET=yes
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley# Binaries built in tree
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob HalleySYNERGYS_BIN=$(SOURCE_DIR)/cmd/synergys/synergys
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob HalleySYNERGYC_BIN=$(SOURCE_DIR)/cmd/synergyc/synergyc
c4f9e613e12f03795bee18cf2ca8e6a9d39d6468Mark Andrews
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob HalleySYNERGY_DOC=$(SOURCE_DIR)/doc
a769eca4e3b223866b01dc8f7a4dde8d9e49bab0Mark Andrews
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob HalleyINSTALL_TARGETS=install_synergys install_synergyc install_doc
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob HalleyINSTALL_TARGETS_SET=yes
b435b1ded3def3159f597953d21dffc1615cb250Brian Wellington
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob HalleySOURCE_URL=$(SF_DOWNLOADS_URL)/synergy2/$(SOURCE_TARBALL_NAME)
9b6a170d22d61026d31bde87523f3320628b6ebcBrian WellingtonSOURCE_URL_SET=yes
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley# Patches to apply to source after unpacking, in order
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob HalleySOURCE_PATCHES = \
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley configure.patch \
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley CConfig.h.patch \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein CConfig.cpp.patch \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein CKeyMap.cpp.patch \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein CKeyState.cpp.patch \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein CXWindowsClipboard.cpp.patch \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein CXWindowsClipboard.h.patch \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein CXWindowsKeyState.cpp.patch \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein CXWindowsScreen.cpp.patch \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein CArchConsoleUnix.cpp.patch
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# Man pages to apply Sun footer to & attributes to list
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein#SUNTOUCHED_MANPAGES=man/*.man
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinSUN_PACKAGE=SUNWsynergy
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinMODULE_STABILITY=Committed
122c58bd11790c7576cdb1c6fd8e4439d0d7f7a5Mark Andrews
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinUSE_DEFAULT_CONFIG_ENV=no
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinMODULE_CXXFLAGS = -m32
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinMODULE_CXXFLAGS += -features=except,rtti,export,extensions,nestedaccess,tmplife,tmplrefstatic
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinMODULE_CXXFLAGS += -instances=global -template=geninlinefuncs -verbose=template
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinMODULE_CXXFLAGS += -xlang=c99 -xbuiltin=%none
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob HalleyMODULE_CXXFLAGS += -Qoption ccfe -features=gcc
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinMODULE_CXXFLAGS += -Qoption ccfe -features=zla
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinMODULE_CXXFLAGS += -mt -D_REENTRANT -D__EXTENSIONS__ -D_LARGEFILE_SOURCE
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinMODULE_CXXFLAGS += -D_FILE_OFFSET_BITS=64
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinMODULE_CXXFLAGS += -D_XPG5 -D_XOPEN_SOURCE=500
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob HalleyMODULE_CXXFLAGS += -D_POSIX_PTHREAD_SEMANTICS
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob HalleyMODULE_CXXFLAGS += -DPIC -KPIC -DSYSAPI_UNIX=1 -DWINAPI_XWINDOWS=1
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob HalleyMODULE_CPPFLAGS = -DSYSAPI_UNIX=1 \
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley -DWINAPI_XWINDOWS=1 \
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley -I$(PROTODIR)$(X11_INCLUDES_DIR) \
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley -I$(PROTODIR)/usr/include \
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley -I$(PROTODIR)/usr/include/freetype2
c4f9e613e12f03795bee18cf2ca8e6a9d39d6468Mark AndrewsMODULE_LDFLAGS = -L$(PROTODIR)/usr/lib$(ARCHLIBSUBDIR) \
c4f9e613e12f03795bee18cf2ca8e6a9d39d6468Mark Andrews -L$(PROTODIR)$(X11_DIR)/lib$(ARCHLIBSUBDIR) \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein -R$(X11_DIR)/lib$(ARCHLIBSUBDIR) \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein -KPIC -Bdynamic -lc -lCrun -lCstd -lm \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein -lsocket -lnsl -lgen -z combreloc -z ignore
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinINSTALL = /usr/bin/ginstall -c
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinMODULE_MAKE=$(GNUMAKE)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinMODULE_MAKE_SET=yes
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinLD_OPTIONS = -lc -lCrun -lCstd -lm -lsocket -lnsl -lgen -z combreloc -z ignore
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
c4f9e613e12f03795bee18cf2ca8e6a9d39d6468Mark AndrewsMODULE_ENV = \
c4f9e613e12f03795bee18cf2ca8e6a9d39d6468Mark Andrews CC="$(CC)" \
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley CXX="$(CXX)" \
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley CXXFLAGS="$(CXXFLAGS) $(MODULE_CXXFLAGS)" \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein CPPFLAGS="$(MODULE_CPPFLAGS)" \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein CPP="$(CC) -E $(MODULE_CPPFLAGS) $(CPPFLAGS)" \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein CXXCPP="$(CXX) -E $(MODULE_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS)" \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein LDFLAGS="$(MODULE_LDFLAGS)" \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein LD="$(CXX) $(CXXFLAGS) $(LDFLAGS)" \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein CXXLD="$(CXX) $(CXXFLAGS) $(LDFLAGS)" \
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein INSTALL="$(INSTALL)" \
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley MAKE=$(GNUMAKE) \
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley GNUMAKE=$(GNUMAKE) \
a769eca4e3b223866b01dc8f7a4dde8d9e49bab0Mark Andrews LD_OPTIONS="$(LD_OPTIONS)"
a769eca4e3b223866b01dc8f7a4dde8d9e49bab0Mark Andrews
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinMODULE_CONFIG_ENV = $(MODULE_ENV)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinMODULE_BUILD_ENV = $(CONFIG_ENV)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeininclude ../Makefile.inc
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeininstall_gen:: $(INSTALL_TARGETS)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinDESTDIR=$(PROTODIR)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeininstall_synergys: $(SYNERGYS_BIN)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein mkdir -p $(DESTDIR)$(MODULE_PREFIX)/bin
a769eca4e3b223866b01dc8f7a4dde8d9e49bab0Mark Andrews cp -pf $(SYNERGYS_BIN) $(DESTDIR)$(MODULE_PREFIX)/bin
a769eca4e3b223866b01dc8f7a4dde8d9e49bab0Mark Andrews
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halleyinstall_synergyc: $(SYNERGYC_BIN)
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley mkdir -p $(DESTDIR)$(MODULE_PREFIX)/bin
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein cp -pf $(SYNERGYC_BIN) $(DESTDIR)$(MODULE_PREFIX)/bin
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob AusteinDOC_AREA=$(DESTDIR)$(MODULE_PREFIX)/share/doc/synergy
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein# Doc all in html format
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austeininstall_doc:
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein mkdir -p $(DOC_AREA)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein mkdir -p $(DOC_AREA)/images
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein cp -pf $(SYNERGY_DOC)/about.html $(DOC_AREA)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein cp -pf $(SYNERGY_DOC)/authors.html $(DOC_AREA)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein cp -pf $(SYNERGY_DOC)/autostart.html $(DOC_AREA)
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley cp -pf $(SYNERGY_DOC)/banner.html $(DOC_AREA)
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley cp -pf $(SYNERGY_DOC)/border.html $(DOC_AREA)
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley cp -pf $(SYNERGY_DOC)/compiling.html $(DOC_AREA)
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley cp -pf $(SYNERGY_DOC)/configuration.html $(DOC_AREA)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein cp -pf $(SYNERGY_DOC)/contact.html $(DOC_AREA)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein cp -pf $(SYNERGY_DOC)/developer.html $(DOC_AREA)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein cp -pf $(SYNERGY_DOC)/faq.html $(DOC_AREA)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein cp -pf $(SYNERGY_DOC)/history.html $(DOC_AREA)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein cp -pf $(SYNERGY_DOC)/home.html $(DOC_AREA)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein cp -pf $(SYNERGY_DOC)/index.html $(DOC_AREA)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein cp -pf $(SYNERGY_DOC)/license.html $(DOC_AREA)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein cp -pf $(SYNERGY_DOC)/news.html $(DOC_AREA)
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley cp -pf $(SYNERGY_DOC)/roadmap.html $(DOC_AREA)
4610465ed9408cbe434dbfb8be8ea53f48969c91Bob Halley cp -pf $(SYNERGY_DOC)/running.html $(DOC_AREA)
b435b1ded3def3159f597953d21dffc1615cb250Brian Wellington cp -pf $(SYNERGY_DOC)/security.html $(DOC_AREA)
b435b1ded3def3159f597953d21dffc1615cb250Brian Wellington cp -pf $(SYNERGY_DOC)/tips.html $(DOC_AREA)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein cp -pf $(SYNERGY_DOC)/toc.html $(DOC_AREA)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein cp -pf $(SYNERGY_DOC)/trouble.html $(DOC_AREA)
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein cp -pf $(SYNERGY_DOC)/images/logo.gif $(DOC_AREA)/images
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein cp -pf $(SYNERGY_DOC)/images/warp.gif $(DOC_AREA)/images
268a4475065fe6a8cd7cc707820982cf5e98f430Rob Austein