1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287
|
# $Revision: 1.8 $
#
# This is TkPGP installation/uninstallation makefile.
# 'tkpgp' is a script, so there is no build targets.
#
# Modified by Christian Surchi <christian@firenze.linux.it>
# for Debian GNU/Linux
#
# History:
# 09-Nov-99 Added KDE files.
# 10-Nov-99 Moved PGP-lock.icon to real X11 directory (!symlinked).
# KDE directories are now being always created if they don't exist.
# The .spec file and MD5 hashes are now autogenerated
# by this Makefile.
# 02-Dec-99 Added file AUTHORS and moved tkpgp.spec from $(DOCFILES).
# Replaced more hardcoded items with variables.
# 05-Dec-99 Added tkpgp.1 man page.
AWK = awk
CP = cp
ECHO = echo
INSTALL = install
MD5SUM = md5sum
RM = rm
# I do not really use release number. This is fixed to 1.
PACKAGE = tkpgp
RELEASE_NUMBER = 1
RPM_GROUP = "X11/Applications"
TKPGP_NAME = TkPGP
TKPGP_COMMENT = "PGP/GnuPG GUI Shell"
# General-purpose directories
SRCDIR = $(PACKAGE)
BINDIR = $(PREFIX)/usr/bin
DOCDIR = $(PREFIX)/usr/doc/$(PACKAGE)
XBITMAPDIR = $(PREFIX)/usr/X11R6/include/X11/bitmaps
BUILDROOT = /usr/src/redhat
MANDIR = $(PREFIX)/usr/share/man/man1
# GNOME, KDE directories
GNOMEDESKTOPDIR = $(PREFIX)/usr/share/gnome/apps
GNOMEPIXMAPDIR = $(PREFIX)/usr/share/pixmaps
KDEDESKTOPDIR = /usr/share/applnk
KDEDIR_ICON = /usr/share/icons
SOURCE = $(PACKAGE)
EXECUTABLE = $(SOURCE)
BITMAPS = PGP-lock.icon
KDEFILES_ICON = PGP-lock-32.xpm
PIXMAPS = PGP-lock.xpm
MANPAGE = $(EXECUTABLE).1
DOCFILES = AUTHORS CHANGES INSTALL README TODO Makefile
# These are synthetic files (generated by this Makefile)
DESKTOPFILE = $(PACKAGE).desktop
SPECFILE = $(PACKAGE).spec
MD5FILE = $(PACKAGE).md5
KDEFILES_KDELNK = $(PACKAGE).kdelnk
# Here we specify where in the system menu TkPGP should appear
GNOMEMENU = Applications
KDEMENU = Applications
# Following macros should not need changes.
GNOMEDESKTOPMENUDIR = $(GNOMEDESKTOPDIR)/$(GNOMEMENU)
KDEDIR_KDELNK = $(KDEDESKTOPDIR)/$(KDEMENU)
SRCTARFILE = $(PACKAGE)-$(VERSION).tar
SRCTGZFILE = $(PACKAGE)-$(VERSION).tgz
# This automatically retrieves the version number (RCS, CVS)
# from the source file (we have only one) and forms the
# release number. This should change if I have more than one
# source file. In fact, I do - but let's assume that document
# files and such do not change on their own...
AWK_CMD = /Revision:/ {gsub(\"[^0-9]\",\"_\",\$$4); print \$$4}
VERSION = $(shell $(AWK) -- "$(AWK_CMD)" $(SOURCE))
AWK_CMD_DOTTED = /Revision:/ {print \$$4}
VERSION_DOTTED = $(shell $(AWK) -- "$(AWK_CMD_DOTTED)" $(SOURCE))
# The dotted name will be produced by RPM tool.
RPMFILE_DOTTED = $(PACKAGE)-$(VERSION_DOTTED)-$(RELEASE_NUMBER).noarch.rpm
# We rename this file because some systems hate multiple-dotted names...
RPMFILE_UNDERSCORED = $(PACKAGE)-$(VERSION)-$(RELEASE_NUMBER)_noarch.rpm
#
# SOURCEFILES are those that go into tarball. We generally put everything
# static there, plus we add the .spec file that we just generated (hopefully)
# because this file is needed to build RPM package from tarball.
#
SOURCEFILES = \
$(EXECUTABLE) \
$(BITMAPS) \
$(DESKTOPFILE) \
$(DOCFILES) \
$(MANPAGE) \
$(PIXMAPS) \
$(KDEFILES_KDELNK) \
$(KDEFILES_ICON) \
$(SPECFILE)
#
# SYNTHFILES are files that are generated during make and can be deleted.
# We generate .spec file and output archives if maintainer targets are
# invoked. We also create GNOME and KDE desktop link files. All these
# files will be deleted by 'clean' target.
#
SYNTHFILES = \
$(DESKTOPFILE) \
$(KDEFILES_KDELNK) \
$(SPECFILE) \
$(RPMFILE_DOTTED) \
$(RPMFILE_UNDERSCORED) \
$(MD5FILE) \
$(SRCTGZFILE)
default:
@$(ECHO) "Usage:"
@$(ECHO) "make install -- to install (as superuser)"
@$(ECHO) "make uninstall -- to uninstall (as superuser)"
@$(ECHO)
@$(ECHO) "--- Special targets for maintainer ---"
@$(ECHO) "make clean -- to clean the tree"
@$(ECHO) "make dist -- to build the generic tar.gz archive"
@$(ECHO) "make rpm -- to build RedHat RPM package (superuser)"
clean:
$(RM) -f $(SYNTHFILES)
install:
# $(INSTALL) -d $(DOCDIR)
$(INSTALL) -d $(MANDIR)
# $(INSTALL) -d $(GNOMEDESKTOPDIR)
$(INSTALL) -d $(GNOMEPIXMAPDIR)
$(INSTALL) -d $(XBITMAPDIR)
# $(INSTALL) -d $(KDEDIR_KDELNK)
# $(INSTALL) -d $(KDEDIR_ICON)
# $(INSTALL) --mode 0644 $(DOCFILES) $(DOCDIR)
$(INSTALL) --mode 0644 $(MANPAGE) $(MANDIR)
# $(INSTALL) --mode 0644 $(DESKTOPFILE) $(GNOMEDESKTOPMENUDIR)
$(INSTALL) --mode 0644 $(PIXMAPS) $(GNOMEPIXMAPDIR)
$(INSTALL) --mode 0755 $(EXECUTABLE) $(BINDIR)
$(INSTALL) --mode 0644 $(BITMAPS) $(XBITMAPDIR)
# $(INSTALL) --mode 0644 $(KDEFILES_KDELNK) $(KDEDIR_KDELNK)
# $(INSTALL) --mode 0644 $(KDEFILES_ICON) $(KDEDIR_ICON)
@$(ECHO)
@$(ECHO) "$(TKPGP_NAME) has been successfully installed"
@$(ECHO) "-------------------------------------"
@$(ECHO)
@$(ECHO) "You can run $(TKPGP_NAME) from command line as"
@$(ECHO) "$(addprefix $(BINDIR)/,$(EXECUTABLE))"
@$(ECHO) "or (recommended) start it using GNOME or KDE."
@$(ECHO) "$(TKPGP_NAME) is installed in following submenus:"
@$(ECHO) "GNOME: \"$(GNOMEMENU)\" submenu"
@$(ECHO) "KDE: \"$(KDEMENU)\" submenu"
@$(ECHO)
@$(ECHO) "To uninstall $(TKPGP_NAME) use following command:"
@$(ECHO) "make -f $(DOCDIR)/Makefile uninstall"
@$(ECHO)
uninstall:
$(RM) -rf $(DOCDIR)
$(RM) -f $(MANDIR)/$(MANPAGE)
$(RM) -f $(GNOMEDESKTOPMENUDIR)/$(DESKTOPFILE)
$(RM) -f $(addprefix $(GNOMEPIXMAPDIR)/,$(PIXMAPS))
$(RM) -f $(addprefix $(BINDIR)/,$(EXECUTABLE))
$(RM) -f $(addprefix $(KDEDIR_KDELNK)/,$(KDEFILES_KDELNK))
$(RM) -f $(addprefix $(KDEDIR_ICON)/,$(KDEFILES_ICON))
@$(ECHO)
@$(ECHO) "$(TKPGP_NAME) has been successfully uninstalled"
@$(ECHO) "---------------------------------------"
@$(ECHO)
@$(ECHO) "Files .$(PACKAGE) were NOT removed from user directories"
@$(ECHO) "because they hold personalized settings. They will"
@$(ECHO) "be preserved during upgrades. If this bothers you,"
@$(ECHO) "simply delete .$(PACKAGE) files, though they do not"
@$(ECHO) "contain any sensitive information."
@$(ECHO)
#--------------------------------------
# These targets are for maintenance only
#--------------------------------------
# You do not need to explicitly make this target. It will be made for 'dist'.
$(SPECFILE):
@$(ECHO) "Building $(SPECFILE) ..."
@$(ECHO) "# This is file autogenerated by Makefile, do not edit!" > $(SPECFILE)
@$(ECHO) >> $(SPECFILE)
@$(ECHO) "Summary: $(TKPGP_NAME) - The Tcl/Tk GUI shell for PGP, GnuPG (UNIX)" >> $(SPECFILE)
@$(ECHO) "# The Summary: line should be expanded to about here -----^" >> $(SPECFILE)
@$(ECHO) >> $(SPECFILE)
@$(ECHO) "Name: $(PACKAGE)" >> $(SPECFILE)
@$(ECHO) "Version: $(VERSION_DOTTED)" >> $(SPECFILE)
@$(ECHO) "Release: $(RELEASE_NUMBER)" >> $(SPECFILE)
@$(ECHO) "Group: $(RPM_GROUP)" >> $(SPECFILE)
@$(ECHO) "Copyright: GPL" >> $(SPECFILE)
@$(ECHO) "Source: $(SRCTGZFILE)" >> $(SPECFILE)
@$(ECHO) "#BuildRoot: ./" >> $(SPECFILE)
@$(ECHO) "# Following are optional fields" >> $(SPECFILE)
@$(ECHO) "URL: http://www.geocities.com/tftp" >> $(SPECFILE)
@$(ECHO) "#Distribution: Red Hat Contrib-Net" >> $(SPECFILE)
@$(ECHO) "#Patch: $(PACKAGE).patch" >> $(SPECFILE)
@$(ECHO) "#Prefix: /usr" >> $(SPECFILE)
@$(ECHO) "BuildArchitectures: noarch" >> $(SPECFILE)
@$(ECHO) "Requires: tcl tk" >> $(SPECFILE)
@$(ECHO) "#Obsoletes:" >> $(SPECFILE)
@$(ECHO) >> $(SPECFILE)
@$(ECHO) "%description" >> $(SPECFILE)
@$(ECHO) "$(TKPGP_NAME) is a Tcl/Tk GUI shell for PGP, GnuPG." >> $(SPECFILE)
@$(ECHO) >> $(SPECFILE)
@$(ECHO) "%prep" >> $(SPECFILE)
@$(ECHO) >> $(SPECFILE)
@$(ECHO) "#%setup -n $(PACKAGE)" >> $(SPECFILE)
@$(ECHO) >> $(SPECFILE)
@$(ECHO) "#%patch" >> $(SPECFILE)
@$(ECHO) >> $(SPECFILE)
@$(ECHO) "#%build" >> $(SPECFILE)
@$(ECHO) "echo "No building is required for $(TKPGP_NAME)"" >> $(SPECFILE)
@$(ECHO) >> $(SPECFILE)
@$(ECHO) "%install" >> $(SPECFILE)
@$(ECHO) "echo "Maintainer should install $(TKPGP_NAME) manually before building RPM."" >> $(SPECFILE)
@$(ECHO) "#make install" >> $(SPECFILE)
@$(ECHO) >> $(SPECFILE)
@$(ECHO) "%files" >> $(SPECFILE)
@$(ECHO) "$(DOCDIR)/AUTHORS" >> $(SPECFILE)
@$(ECHO) "$(DOCDIR)/CHANGES" >> $(SPECFILE)
@$(ECHO) "$(DOCDIR)/INSTALL" >> $(SPECFILE)
@$(ECHO) "$(DOCDIR)/README" >> $(SPECFILE)
@$(ECHO) "$(DOCDIR)/TODO" >> $(SPECFILE)
@$(ECHO) "$(DOCDIR)/Makefile" >> $(SPECFILE)
@$(ECHO) "$(BINDIR)/$(EXECUTABLE)" >> $(SPECFILE)
@$(ECHO) "$(GNOMEPIXMAPDIR)/$(PIXMAPS)" >> $(SPECFILE)
@$(ECHO) "$(XBITMAPDIR)/$(BITMAPS)" >> $(SPECFILE)
@$(ECHO) "$(GNOMEDESKTOPDIR)/$(GNOMEMENU)/$(DESKTOPFILE)" >> $(SPECFILE)
@$(ECHO) "$(KDEDIR_ICON)/$(KDEFILES_ICON)" >> $(SPECFILE)
@$(ECHO) "$(KDEDIR_KDELNK)/$(KDEFILES_KDELNK)" >> $(SPECFILE)
@$(ECHO) >> $(SPECFILE)
@$(ECHO) "%doc $(MANDIR)/$(MANPAGE)" >> $(SPECFILE)
# This target builds KDE desktop file (kdelnk)
$(KDEFILES_KDELNK):
@$(ECHO) "Building $(KDEFILES_KDELNK) ..."
@$(ECHO) "# KDE Config File" > $(KDEFILES_KDELNK)
@$(ECHO) "# This file is generated by $(TKPGP_NAME) Makefile" >> $(KDEFILES_KDELNK)
@$(ECHO) "[KDE Desktop Entry]" >> $(KDEFILES_KDELNK)
@$(ECHO) "Name=$(TKPGP_NAME)" >> $(KDEFILES_KDELNK)
@$(ECHO) "Comment=$(TKPGP_COMMENT)" >> $(KDEFILES_KDELNK)
@$(ECHO) "Exec=$(BINDIR)/$(EXECUTABLE)" >> $(KDEFILES_KDELNK)
@$(ECHO) "Icon=$(KDEFILES_ICON)" >> $(KDEFILES_KDELNK)
@$(ECHO) "Terminal=0" >> $(KDEFILES_KDELNK)
@$(ECHO) "Type=Application" >> $(KDEFILES_KDELNK)
@$(ECHO) "BinaryPattern=$(PACKAGE);" >> $(KDEFILES_KDELNK)
# This target builds GNOME desktop file.
$(DESKTOPFILE):
@$(ECHO) "Building $(DESKTOPFILE) ..."
@$(ECHO) "# GNOME Config File" > $(DESKTOPFILE)
@$(ECHO) "# This file is generated by $(TKPGP_NAME) Makefile" >> $(DESKTOPFILE)
@$(ECHO) "[Desktop Entry]" >> $(DESKTOPFILE)
@$(ECHO) "Name=$(TKPGP_NAME)" >> $(DESKTOPFILE)
@$(ECHO) "Comment=$(TKPGP_COMMENT)" >> $(DESKTOPFILE)
@$(ECHO) "Exec=$(BINDIR)/$(EXECUTABLE)" >> $(DESKTOPFILE)
@$(ECHO) "Icon=$(PIXMAPS)" >> $(DESKTOPFILE)
@$(ECHO) "Terminal=0" >> $(DESKTOPFILE)
@$(ECHO) "Type=Application" >> $(DESKTOPFILE)
# This target builds a generic tarball.
dist: $(SOURCEFILES)
@$(ECHO) "Building the source distribution package..."
tar cvf $(SRCTARFILE) -C .. $(addprefix $(SRCDIR)/,$(SOURCEFILES))
gzip --to-stdout $(SRCTARFILE) > $(SRCTGZFILE)
$(RM) $(SRCTARFILE)
$(MD5SUM) $(SRCTGZFILE) > $(MD5FILE)
# This target builds both generic tarball and RPM package.
rpm: dist
@$(ECHO) "Building RedHat RPM package..."
$(CP) -f $(SRCTGZFILE) $(BUILDROOT)/SOURCES
$(MAKE) install
rpm -ta $(BUILDROOT)/SOURCES/$(SRCTGZFILE)
$(MAKE) uninstall
$(CP) -f $(BUILDROOT)/RPMS/noarch/$(RPMFILE_DOTTED) $(RPMFILE_UNDERSCORED)
$(MD5SUM) $(SRCTGZFILE) $(RPMFILE_UNDERSCORED) > $(MD5FILE)
|