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