aboutsummaryrefslogtreecommitdiffhomepage
path: root/distribute
blob: 9d4e57e5eb879853882b8c3d4ee9a9e858b33065 (plain)
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
#!/usr/bin/make -f

# Overwrite, if building out-of-tree.
SRCDIR=.

SCITECO_VERSION = 0.6
SCITECO_SRC = sciteco-$(SCITECO_VERSION).tar.gz

$(SCITECO_SRC):
	$(MAKE) dist

all : $(SCITECO_SRC) debian mingw-binary

# $(UBUNTU) sets the Ubuntu distribution and fixes the package's
# version
debian-prepare: debian-temp/
debian-temp/ : bundle
	mkdir debian-temp/
	(cd debian-temp/; \
	 cp ../$(SCITECO_SRC) \
	    sciteco_$(SCITECO_VERSION).orig.tar.gz; \
	 tar xzf sciteco_$(SCITECO_VERSION).orig.tar.gz; \
	 cp -r ../debian sciteco-$(SCITECO_VERSION)/; \
	)
ifneq ($(UBUNTU),)
	sciteco -e "@EB|debian-temp/sciteco-$(SCITECO_VERSION)/debian/changelog| \
                    <@FS/ unstable;/ $(UBUNTU);/; -@S/)/R @I/ppa1~$(UBUNTU)1/ L> \
                    @EW||"
endif

SIGN ?= no
ifeq ($(SIGN),yes)
DEBUILD_FLAGS :=
else
DEBUILD_FLAGS := -us -uc
endif

UPLOAD_SRC ?= yes
ifeq ($(UPLOAD_SRC),yes)
DEBUILD_FLAGS += -sa
else
DEBUILD_FLAGS += -sd
endif

debian-source : debian-temp/source-stamp
debian-temp/source-stamp : debian-prepare
	(cd debian-temp/sciteco-$(SCITECO_VERSION)/; \
	 debuild -S $(DEBUILD_FLAGS); \
	)
	touch $@

debian-binary : debian-temp/binary-stamp
debian-temp/binary-stamp : debian-prepare
	(cd debian-temp/sciteco-$(SCITECO_VERSION)/; \
	 debuild -b $(DEBUILD_FLAGS); \
	)
	touch $@

debian : debian-source debian-binary

ppa : debian-source
	(cd debian-temp/; \
	 dput ppa:robin-haberkorn/sciteco *.changes; \
	)

# Create Windows release.
# Assumes a correctly installed glib (with pkgconfig script)
# and static linking of all dependant libraries (no DLLs are
# added to the zip).
# If a win32.teco_ini exists, it is added to the release
# instead of sample.teco_ini.
# This also adds gspawn-win32-helper-console.exe to the archive
# which is required by the glib spawn functions.
# If we ever build a non-console version on Windows,
# we should include gspawn-win32-helper.exe instead.
mingw-binary : sciteco-$(SCITECO_VERSION)-win32.zip
sciteco-$(SCITECO_VERSION)-win32.zip : $(SCITECO_SRC)
	tar xzf $(SCITECO_SRC)
	(cd sciteco-$(SCITECO_VERSION); \
	 PKG_CONFIG=i686-w64-mingw32-pkg-config \
	 PKG_CONFIG_LIBDIR=/usr/i686-w64-mingw32/lib/pkgconfig \
	 ./configure --host=i686-w64-mingw32 build=i386-pc-linux-gnu \
	             --prefix=/usr \
	             --enable-static-executables \
	             --disable-dependency-tracking \
		     --with-interface=pdcurses \
		     --disable-bootstrap \
		     --enable-html-manual \
		     CFLAGS="-g -O3" CXXFLAGS="-g -O3"; \
	)
	$(MAKE) -C sciteco-$(SCITECO_VERSION) \
		install-strip DESTDIR=`pwd`/temp-install
	rm -rf sciteco-$(SCITECO_VERSION)/
	mkdir temp-bin/
	cp -r temp-install/usr/bin/* temp-install/usr/share/sciteco/* \
	      temp-install/usr/share/doc/sciteco/* \
	   temp-bin/
	cp $(SRCDIR)/win32.teco_ini temp-bin/.teco_ini || \
		cp temp-install/usr/share/sciteco/sample.teco_ini \
		   temp-bin/.teco_ini
	cp $(SRCDIR)/COPYING $(SRCDIR)/ChangeLog temp-bin/
	rm -rf temp-install/
#	cp /usr/i686-w64-mingw32/bin/intl.dll \
#	   /usr/i686-w64-mingw32/bin/libglib-2.0-0.dll \
#	   /usr/i686-w64-mingw32/bin/pdcurses.dll \
#	   temp-bin/
	cp /usr/i686-w64-mingw32/bin/gspawn-win32-helper-console.exe \
	   temp-bin/
	i686-w64-mingw32-strip -s temp-bin/gspawn-win32-helper-console.exe
	cd temp-bin/; zip -r ../$@ .
	rm -rf temp-bin/

clean:
	rm -rf $(SCITECO_SRC)
	rm -rf debian-temp/
	rm -rf sciteco-$(SCITECO_VERSION)/