File: makefile

package info (click to toggle)
mined 2000.15.4-1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 16,616 kB
  • ctags: 2,957
  • sloc: ansic: 123,254; sh: 10,042; makefile: 266; sed: 221; perl: 172; cpp: 30
file content (232 lines) | stat: -rw-r--r-- 7,637 bytes parent folder | download
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
#############################################################################
# default: generate all
all:	mined help manual mnemodoc


#############################################################################
# generation
mined:	src/version.h
	./makemined

minced:	src/version.h
	./makemined minced

help:	usrshare/package_doc/VERSION
	./makemined help

mnemodoc:
	./makemined mnemodoc

generate:
	./makemined generate

clean:
	./makemined clean

manual:
	cd man; make

VER=$(shell sed -e 's,^[^0-9]*,,' -e 's,[^0-9][^0-9]*,.,g' -e q VERSION )
UNIVER=$(shell sed -e '/^\# Blocks-/ b ver' -e d -e ': ver' -e 's,^[^0-9]*\([0-9].*[0-9]\).*,\1,g' -e 's,\.0$$,,' src/Blocks.txt )

ver:
	echo mined $(VER)
	echo Unicode $(UNIVER)

src/version.h:	VERSION
	echo '#define VERSION "$(VER)"' > src/version.h
	echo '#define UNICODE_VERSION "$(UNIVER)"' >> src/version.h

usrshare/package_doc/VERSION:	VERSION
	echo $(VER) > usrshare/package_doc/VERSION


#############################################################################
# description
#SUMMARY=Powerful text editor with extensive Unicode and CJK support.
SUMMARY=$(shell sed -e 's,<meta *name="*description"* content="*\([^"]*\)"* *>,\1,' -e t -e d doc/overview.html )

descriptions:	description.summary description.medium description.long

description.summary:	doc/overview.html makefile
	echo $(SUMMARY) > description.summary

description.medium:	DESCR
	sed -n -e "/Overview/ q" -e p DESCR > description.medium
	echo "For an overview and further information see http://mined.sourceforge.net/" >> description.medium

description.long:	DESCR
	cp DESCR description.long


wiki:	mined.wiki

wikisrc=doc/overview.html doc/design.html
DATE=` sed -e "s,.*-> mined $(VER) (\(.*\)),\1," -e t -e d doc/changes.html `

mined.wiki:	$(wikisrc) wiki.sed wiki.add makefile
	sed -e "/^$$/,$$ d" -e "s,VERSION,$(VER)," -e "s,DATE,$(DATE)," wiki.add > mined.wiki
	cat $(wikisrc) | tidy -utf8 -o -wrap 999 2> /dev/null | sed -f wiki.sed >> mined.wiki
	sed -e "/^$$/,$$ b" -e d wiki.add >> mined.wiki

announcements:	DESCR doc/changes.html
	DATE=$(DATE) sh -c "cd announcement; ./makeann > announcement-update"
	DATE=$(DATE) sh -c "cd announcement; ./makeann cygwin > cygwin-announce"
	cd announcement; ./makeupload > cygwin-upload


#############################################################################
# installation
install:
	./makemined install root=$(root) prefix=$(prefix) lprefix=$(lprefix) rundir=$(rundir) lrundir=$(lrundir)

localinstall:
	./makemined localinstall root=$(root) prefix=$(prefix) lprefix=$(lprefix) rundir=$(rundir) lrundir=$(lrundir)

optinstall:
	./makemined optinstall root=$(root) prefix=$(prefix) lprefix=$(lprefix) rundir=$(rundir) lrundir=$(lrundir)


#############################################################################
# source distribution and private archives
beta:	all
	if egrep -e "^printf" -e "^#define debug" src/*.[hc]; then false; fi
	./makearch -

LSM=release/mined.lsm
SPEC=release/mined.spec


lsm:	$(LSM)

rpm:	$(SPEC)

$(SPEC):	DESCR makefile
	echo $(VER)
	echo "# partial spec file for mined" > $(SPEC)
	echo "Name:         mined" >> $(SPEC)
	echo "Group:        Productivity/Editors/Other" >> $(SPEC)
	echo "Version:      $(VER)" >> $(SPEC)
	echo "URL:          http://towo.net/mined/" >> $(SPEC)
	echo "Summary:      $(SUMMARY)" >> $(SPEC)
	echo "" >> $(SPEC)
	echo "%description" >> $(SPEC)
	sed -e "s,^,	," DESCR >> $(SPEC)
	echo "" >> $(SPEC)


distribution:	release lsm

.PHONY: release

release:
	$(MAKE) generate
	$(MAKE) all
	$(MAKE) DESCR
	$(MAKE) release/mined-$(VER).tar.gz

release/mined-$(VER).tar.gz:	src/mined usrshare/help/mined.hlp doc/mnemodoc.html man/*.1
	#if egrep -e "^printf" -e "^#define debug" src/*.[hc]; then false; fi
	#if sed -e "/-- test/,$$ b" -e d src/keymaps.cfg | egrep '^[^#]'; then false; else true; fi
	./makemined checksrc
	./makemined checkchar
	./makemined pc
	./makemined vms
	./makearch


#############################################################################
# specific distribution packages

packages:	cygwin

REL=$(shell sed -e 's,.*[Rr]elease *\([0-9]*\).*,\1,' -e 's,^$$,0,' -e q README.cygwin )

rel:
	echo cygwin package release $(REL)

cygrel=release/cygwin

cygwin:
	$(MAKE) release/mined-$(VER).tar.gz
	$(MAKE) cygwinbin
	$(MAKE) cygwinsrc

cygwinsrc:
	echo making cygwin source package release $(REL) of mined $(VER)
	mkdir -p $(cygrel)/
	gunzip -c release/mined-$(VER).tar.gz | bzip2 -c > $(cygrel)/mined-$(VER)-$(REL)-src.tar.bz2

cygwinbin:	$(cygrel)/setup.hint cygwinexe
	echo making cygwin package release $(REL) of mined $(VER)
	cd src; rm -fr tmp.cyg; mkdir tmp.cyg
	cd src; make -f makefile.cygwin install root=tmp.cyg
	cd src/tmp.cyg; tar -cf mined-$(VER)-$(REL).tar *
	cd src/tmp.cyg; bzip2 mined-$(VER)-$(REL).tar
	mv src/tmp.cyg/mined-$(VER)-$(REL).tar.bz2 $(cygrel)/

cygwinexe:
	cd src; make -f makefile.cygwin mined.exe

$(cygrel)/setup.hint:	description.medium makefile
	mkdir -p $(cygrel)
	echo '# cygwin setup file' > $(cygrel)/setup.hint
	echo 'sdesc: $(SUMMARY)' >> $(cygrel)/setup.hint
	echo 'category: Editors' >> $(cygrel)/setup.hint
	echo 'requires: cygwin' >> $(cygrel)/setup.hint
	echo 'ldesc: "' >> $(cygrel)/setup.hint
	cat description.medium >> $(cygrel)/setup.hint
	echo '"' >> $(cygrel)/setup.hint

$(LSM):	DESCR makefile # release/mined-$(VER).tar.gz
	mkdir -p release
	echo $(VER)
	echo "Begin4" > $(LSM)
	echo "Title:		mined" >> $(LSM)
	echo "Version:	$(VER)" >> $(LSM)
	echo "Entered-date:	`date +%Y-%m-%d`" >> $(LSM)
	echo "Description:	$(SUMMARY)" >> $(LSM)
	sed -e "s,^,	," -e "s,:,;,g" DESCR >> $(LSM)
	echo "Keywords:	text editor, Unicode editor, UTF-8 editor, CJK editor" >> $(LSM)
	echo "Author:		mined@towo.net (Thomas Wolff)" >> $(LSM)
	echo "Primary-site:	http://towo.net/mined/" >> $(LSM)
	(cd release; ls -l mined-$(VER).tar.gz) | sed -e "s,[^ ]* *[^ ]* *[^ ]* *[^ ]* *\([^ ]*\).* \([^ ]*\)$$,		\1 \2," >> $(LSM)
	echo "Alternate-site:	http://www.ibiblio.org/pub/Linux/apps/editors/mined-$(VER).tar.gz" >> $(LSM)
	echo "Platforms:	Unix (Linux/Sun/HP/BSD/Mac and more), DOS (djgpp), Windows (cygwin)" >> $(LSM)
	echo "Copying-policy:	GPL with comments" >> $(LSM)
	echo "End" >> $(LSM)

# NetBSD pkgsrc entry
DESCR:	doc/overview.html descr.sed makefile
	sed -f descr.sed doc/overview.html | sed -e "/./ b" -e "$$ d" > DESCR


# PC binary archives (development target, doesn't currently work locally)
bin:	release/mined-$(VER)-cygwin.zip release/mined-$(VER)-dj.zip

release/mined-$(VER)-cygwin.zip:	src/cyg/mined.exe src/cyg/cyg*.dll usrshare/help/mined.hlp README README.cygwin
	mkdir -p release
	cd src/cyg; chmod +x mined.exe cyg*.dll
	cd src/cyg; zip mined-$(VER)-cygwin.zip mined.exe cyg*.dll
	mv -f src/cyg/mined-$(VER)-cygwin.zip release/
	cd usrshare/help; zip ../../release/mined-$(VER)-cygwin.zip mined.hlp
	cd usrshare/bin; zip ../../release/mined-$(VER)-cygwin.zip minedmar.bat wined.bat
	cp -fp README release/mined.txt
	cp -fp README.cygwin release/minedcyg.txt
	cd release; zip mined-$(VER)-cygwin.zip mined.txt minedcyg.txt
	rm -f release/mined.txt release/minedcyg.txt

release/mined-$(VER)-dj.zip:	src/dj/mined.exe usrshare/help/mined.hlp README
	mkdir -p release
	cd src/dj; chmod +x mined.exe
	cd src/dj; zip mined-$(VER)-dj.zip mined.exe
	mv -f src/dj/mined-$(VER)-dj.zip release/
	cd usrshare/help; zip ../../release/mined-$(VER)-dj.zip mined.hlp
	cd usrshare/bin; zip ../../release/mined-$(VER)-dj.zip minedmar.bat
	cp -fp README release/mined.txt
	cd release; zip mined-$(VER)-dj.zip mined.txt
	rm -f release/mined.txt


#############################################################################
# end