1######################################################################## 2# 3# Platform for distribution 4SYSTEM= @M_SYSTEM@ 5MACHINE= @M_MACHINE@ 6ARCH= @M_ARCH@ 7PLATFORM= @M_PLATFORM@ 8DATADIR= @Q_DATADIR@ 9# 10# Location for distribution 11PREFIX= @PREFIX@ 12 13# 14# Name of the binary arrchive 15VERSION= 2.23 16BINDIST= ted-2.23-$(PLATFORM) 17TGZ= $(BINDIST).tar.gz 18# 19# 20PKG_OWNER= @M_PKG_OWNER@ 21PKG_GROUP= @M_PKG_GROUP@ 22CHOWN_ARG= @M_CHOWN_ARG@ 23CHOWN_CMD= @CHOWN_CMD@ 24CHECK_ID_CMD= @CHECK_ID_CMD@ 25# 26# 27PKGDESTDIR= ./scratch 28PKGPREFIX= $(PKGDESTDIR)@Q_PREFIX@ 29PKGEXEC_PREFIX= $(PKGDESTDIR)@Q_EXEC_PREFIX@ 30PKGDATADIR= $(PKGDESTDIR)@Q_DATADIR@ 31PKGBINDIR= $(PKGDESTDIR)@Q_BINDIR@ 32PKGMANDIR= $(PKGDATADIR)/man/man1 33 34PKGEXEC_BIN= $(PKGBINDIR)/Ted 35 36PKGDESKTOPDIR= $(PKGDATADIR)/applications 37PKGTEDDIR= $(PKGDATADIR)/Ted 38PKGTEDVARIADIR= $(PKGTEDDIR)/varia 39 40PKGDIRS= $(PKGDESTDIR) \ 41 $(PKGPREFIX) \ 42 $(PKGEXEC_PREFIX) \ 43 $(PKGBINDIR) \ 44 $(PKGDATADIR) \ 45 $(PKGDESKTOPDIR) \ 46 $(PKGTEDDIR) \ 47 $(PKGTEDVARIADIR) 48 49PKGREADMEFILE= $(PKGTEDVARIADIR)/README 50 51PKGLSMNAME= ted-$(VERSION).lsm 52 53### 54### Data diles needed to build a package 55### (Besides the executable) 56### 57PKGDATAFILES= TedDatadir.tar \ 58 $(PKGLSMNAME) \ 59 Ted.desktop \ 60 README 61 62CUSTOMISED_FILES= \ 63 $(PKGTEDVARIADIR)/$(PKGLSMNAME) \ 64 $(PKGREADMEFILE) \ 65 $(PKGDESKTOPDIR)/Ted.desktop \ 66 $(PKGTEDVARIADIR)/Ted.desktop 67 68CUSTOMIZE_ARGS= "$(SYSTEM)" \ 69 "$(MACHINE)" \ 70 "$(ARCH)" \ 71 "$(PLATFORM)" \ 72 "$(BINDIST)" \ 73 "$(PREFIX)" \ 74 "$(DATADIR)" \ 75 "$(PKG_OWNER)" \ 76 "$(PKG_GROUP)" 77 78######################################################################## 79 80package: ../Ted/Ted.static $(PKGDATAFILES) 81 : 82 @CHECK_ID_CMD@ 83 : 84 rm -rf $(PKGDESTDIR) 85 make datadir 86 : 87 make distfiles 88 : 89 rm -rf $(PKGDESTDIR) 90 @date >> package 91 @echo Distribution is complete 92 93######################################################################## 94# 95# Package containing a dynamically linked executable 96# 97######################################################################## 98 99package.shared: ../Ted/Ted $(PKGDATAFILES) 100 : 101 @CHECK_ID_CMD@ 102 : 103 rm -rf $(PKGDESTDIR) 104 make datadir 105 : 106 make distfiles 107 : 108 rm -rf $(PKGDESTDIR) 109 @date > package.shared 110 @echo Distribution is complete 111 112######################################################################## 113 114install: # run as a script 115 cat $(TGZ) | ( DESTDIR=$${DESTDIR:-/} && cd $${DESTDIR} && umask 0 && tar xvfz - ) 116 117######################################################################## 118# 119# - Systen V (Solaris) type pkgadd package. 120# - Debian style package to be used with dpkg and/or apt-get. 121# - BSD package to be used with pkg_add etc (Experimental) 122# - Puppy Linux pet package 123# 124######################################################################## 125 126sysvpkg: $(TGZ) \ 127 Ted.pkginfo.in \ 128 Ted.prototype.in \ 129 sysvpkg.sh \ 130 README 131 sh ./sysvpkg.sh $(CUSTOMIZE_ARGS) 132 133deb: $(TGZ) \ 134 debian-control.in \ 135 debian-copyright.in \ 136 debian-changelog \ 137 deb.sh \ 138 README 139 sh ./deb.sh $(CUSTOMIZE_ARGS) 140 141freebsdpkg: $(TGZ) \ 142 freebsd-pkglist.in \ 143 freebsdpkg.sh \ 144 README 145 sh ./freebsdpkg.sh $(CUSTOMIZE_ARGS) 146 147pet: $(TGZ) \ 148 pet.specs.in \ 149 pet.sh \ 150 README 151 sh ./pet.sh $(CUSTOMIZE_ARGS) 152 153slackpkg: $(TGZ) \ 154 slack-desc.in \ 155 slackpkg.sh \ 156 README 157 sh ./slackpkg.sh $(CUSTOMIZE_ARGS) 158 159private: Ted.desktop.in \ 160 private.sh \ 161 TedDatadir.tar 162 sh ./private.sh $(CUSTOMIZE_ARGS) 163 164######################################################################## 165# 166# Various files used in the package 167# 168######################################################################## 169 170Ted.desktop: Ted.desktop.in customize.sh 171 sh ./customize.sh $(CUSTOMIZE_ARGS) < Ted.desktop.in > $@ 172 173$(PKGLSMNAME): TedBindist.lsm.in customize.sh 174 sh ./customize.sh $(CUSTOMIZE_ARGS) < TedBindist.lsm.in > $@ 175 176README: README.in customize.sh 177 sh ./customize.sh $(CUSTOMIZE_ARGS) < README.in > $@ 178 179arch-PKGBUILD: arch-PKGBUILD.in customize.sh 180 sh ./customize.sh $(CUSTOMIZE_ARGS) < arch-PKGBUILD.in > $@ 181 182######################################################################## 183 184# behaves like a script 185datadir: README \ 186 $(PKGLSMNAME) \ 187 Ted.desktop \ 188 TedDatadir.tar 189 : 190 mkdir -p $(PKGDIRS) 191 $(CHOWN_CMD) $(PKGDIRS) 192 chmod 755 $(PKGDIRS) 193 : 194 ( cd $(PKGDATADIR)/Ted && umask 0 && tar xvf - ) < TedDatadir.tar 195 cp $(PKGDATADIR)/Ted/TedDocument-en_US.rtf TedDocument-en_US.rtf 196 ( umask 022 && mkdir -p $(PKGMANDIR) ) 197 sh ./customize.sh $(CUSTOMIZE_ARGS) < $(PKGDATADIR)/Ted/doc/Ted.1 | \ 198 gzip -9 > $(PKGMANDIR)/Ted.1.gz 199 chmod 644 $(PKGMANDIR)/Ted.1.gz 200 : 201 cp $(PKGLSMNAME) $(PKGTEDVARIADIR)/$(PKGLSMNAME) 202 cp Ted.desktop $(PKGDESKTOPDIR)/Ted.desktop 203 cp Ted.desktop $(PKGTEDVARIADIR)/Ted.desktop 204 cp README $(PKGREADMEFILE) 205 $(CHOWN_CMD) $(CUSTOMISED_FILES) 206 chmod 644 $(CUSTOMISED_FILES) 207 208$(PKGEXEC_BIN): ../Ted/Ted.static 209 ls -l ../Ted/Ted.static 210 mkdir -p $(PKGEXEC_PREFIX)/bin 211 chmod 755 $(PKGEXEC_PREFIX)/bin 212 $(CHOWN_CMD) $(PKGEXEC_PREFIX)/bin 213 cp ../Ted/Ted.static $@ 214 215$(TGZ): $(PKGEXEC_BIN) 216 strip $(PKGEXEC_BIN) 217 $(CHOWN_CMD) $(PKGEXEC_BIN) 218 chmod 755 $(PKGEXEC_BIN) 219 : 220 make datadir 221 : 222 ( cd $(PKGDESTDIR) && tar cvf - @TAR_CHOWN_ARGS@ * | gzip -9 ) > $(TGZ) 223 224# behaves like a script 225distfiles: $(TGZ) README TedDocument-en_US.rtf 226 $(CHOWN_CMD) README 227 $(CHOWN_CMD) TedDocument-en_US.rtf 228 $(CHOWN_CMD) $(TGZ) 229 : 230 test x_$$RPM_BUILD_ROOT != x_ || chmod 644 README 231 test x_$$RPM_BUILD_ROOT != x_ || chmod 644 TedDocument-en_US.rtf 232 test x_$$RPM_BUILD_ROOT != x_ || chmod 644 $(TGZ) 233 : 234 @echo Checking existence of distribution files 235 test -s README 236 test -s TedDocument-en_US.rtf 237 test -s $(TGZ) 238 239