~ubuntu-branches/ubuntu/raring/gpm/raring

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
#			-*-makefile-*- (gpm/main)
#
# Copyright 1994,1997  rubini@linux.it
# Copyright 1997       dickey@clark.net
# Copyright (C) 1998 Ian Zimmerman <itz@rahul.net>
# Copyright (C) 2001 Nico Schottelius <nico@schottelius.org>
#

SHELL = /bin/sh
srcdir = @srcdir@
top_srcdir = @top_srcdir@
top_builddir = .

include Makefile.include

# allow CFLAGS to be overriden from make command line
# ideally one would never have to write this rule again, but the GNU
# makefile standards are at cross-purposes: CFLAGS is reserved for
# user-overridable flags, but it's also all the implicit rule looks at.
# missing ?

SUBDIRS = src doc contrib

### simple, but effective rules

all: do-all

dep:
	touch src/$(DEPFILE) # to prevent unecessary warnings
	make -C src dep

check: all

uninstall:	do-uninstall

clean: do-clean

Makefile: $(srcdir)/Makefile.in config.status
	./config.status

config.status:	$(srcdir)/configure
	if [ -f config.status ]; then $(SHELL) config.status --recheck; \
	else ./configure; fi

### INSTALL

install:	check installdirs do-install

install-strip:
	$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) $(STRIP)' install

installdirs:
	$(MKDIR) $(libdir) $(bindir) $(sbindir) $(includedir) $(sysconfdir); \
	if test "x@ELISP@" != "x" ; then \
		$(MKDIR) $(lispdir) ; \
	fi

### GENERIC

# do-all goes to all subdirectories and does all
do-%: dep
	@target=`echo $@ | $(SED) -e 's/^do-//'`; \
	for i in $(SUBDIRS) ; do \
		if test -f ./$$i/Makefile ; then \
			$(MAKE) -C ./$$i $${target} || exit 1 ;\
		else \
			true; \
		fi; \
       done


# Configure & unconfigure

# Maintainer portion, use at your own risk

barf:
	@echo 'This command is intended for maintainers to use; it'
	@echo 'deletes files that may need special tools to rebuild.'
	@echo 'If you want to continue, please press return.'
	@echo -n "Hit Ctrl+C to abort."
	@read somevar


# who / what does need tags
TAGS:	$(SRCS) $(HDRS) src/prog/gpm-root.y do-TAGS
	cd $(srcdir) && $(ETAGS) -o TAGS $(SRCS) $(HDRS) src/prog/gpm-root.y

### RELEASE STUFF
TARS  =../gpm-$(release).tar.gz
TARS +=../gpm-$(release).tar.bz2 ../gpm-$(release).tar.lzma
D_HOST=home.schottelius.org
D_BASE=www/org/schottelius/unix/www/gpm
D_DIR=$(D_BASE)/archives/
D_SOURCE=$(D_BASE)/browse_source/

M_HOST=arcana.linux.it
M_DIR=gpm/

tars: $(TARS)

# configure headers, produce new configure script
distconf: configure.in aclocal.m4
	autoheader && autoconf

../gpm-$(release).tar: $(srcdir)
	# no exclude possible of .git with pax it seems
	#pax -w -x ustar -s '/^\./gpm-$(release)/' -w . -f $@
	pax -w -x ustar -s ';^;gpm-$(release)/;' -f $@ -w *

../gpm-$(release).tar.gz:  ../gpm-$(release).tar
	gzip -9 -c $^ > $@

../gpm-$(release).tar.bz2:  ../gpm-$(release).tar
	bzip2 -9 -c $^ > $@

../gpm-$(release).tar.lzma:  ../gpm-$(release).tar
	lzma -9 -c $^ > $@

# 3. Put package together into .tar.gz and .tar.bz2
#dist: distclean distconf gpm-$(release).tar.bz2 gpm-$(release).tar.gz
dist: disttest distclean distconf nicotest $(TARS)
	chmod 0644 $(TARS)
	scp $(TARS) $(D_HOST):$(D_DIR)
	scp $(TARS) $(M_HOST):$(M_DIR)
	ssh "$(D_HOST)" "tar xvfz $(D_DIR)/gpm-$(release).tar.gz -C $(D_SOURCE)"
	ssh "$(D_HOST)" "find \"$(D_SOURCE)/\" -type f -exec chmod 0644 {} \\;"
	ssh "$(D_HOST)" "find \"$(D_SOURCE)/\" -type d -exec chmod 0755 {} \\;"


### TEST: on nicos machine: not to be used anywhere else currently
# create / update configure, delete other parts from earlier build
disttest: distconf clean
	./configure
	make all

TESTBUILDDIR=~/temp/gpm-build-test
nicotest: $(TARS)
	rm -rf $(TESTBUILDDIR)
	mkdir -p $(TESTBUILDDIR)
	cp $(TARS) $(TESTBUILDDIR)
	cd $(TESTBUILDDIR); tar xvfj gpm-$(release).tar.bz2;
	cd $(TESTBUILDDIR)/gpm-$(release); ./configure && make && ./src/gpm -v

### CLEANUP
distclean: clean do-clean do-distclean
	rm -f config.log config.status config.cache Makefile Makefile.include
	rm -rf autom4te.cache 
	rm -rf gpm-$(release) gpm-$(release).tar.bz2 gpm-$(release).tar.gz
	rm -f src/$(DEPFILE)

allclean: do-allclean distclean
	rm -f configure