blob: 978b08d91a26b5e4b785cbec64791aae79b8c8f6 (
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
|
## Please read the README in this directory to see how to use this
## Makefile snippet
# Let's use whatever clean target the specific app provides
CONTROL = `if test -e familiar/control1; then echo control1; else echo control; fi`
# URL to source tarball
SOURCE = ftp://gpe.handhelds.org/projects/gpe/source/$(PACKAGE)-$(VERSION).tar.gz
# can change this to e.g. /var/tmp/deb
DEB_PATH = ../deb
ifeq ($(CVSBUILD),yes)
LIBGPEWIDGET_PC = libgpewidget-uninstalled
PC_EXTRA=PKG_CONFIG_PATH=../../base/libgpewidget
else
LIBGPEWIDGET_PC = libgpewidget
endif
ifeq ($(IN_LIBGPEWIDGET),)
GPECFLAGS = $(shell $(PC_EXTRA) pkg-config --cflags $(LIBGPEWIDGET_PC))
GPELIBS = $(shell $(PC_EXTRA) pkg-config --libs $(LIBGPEWIDGET_PC))
endif
GTKCFLAGS = $(shell pkg-config --cflags gtk+-2.0)
GTKLIBS = $(shell pkg-config --libs gtk+-2.0)
STANDARD_CPPFLAGS = -D_GNU_SOURCE -DPACKAGE=\"$(PACKAGE)\" -DPREFIX=\"$(PREFIX)\" -DPACKAGE_LOCALE_DIR=\"$(PREFIX)/share/locale\"
STANDARD_CFLAGS = -MD -Wall
ifeq ($(DEBUG),yes)
CFLAGS += -O2 -g
LDFLAGS = -g
else
CFLAGS += -Os -fomit-frame-pointer
endif
dist: check-source clean dist-prep
rm -rf ../$(PACKAGE)-$(VERSION)
mkdir ../$(PACKAGE)-$(VERSION)
( tar cf - --exclude "*/CVS" --exclude CVS --exclude "*~" --exclude "#*#" --exclude "debian" --exclude ".*" --exclude "*.ipk" --exclude "*.ipk.*" --exclude "*.mo" --exclude "*.batch" --exclude "translation-ipkgs.txt" * ) | (cd ../$(PACKAGE)-$(VERSION); tar xf -)
( if [ -f linguas ]; then LINGUAS=`cat linguas`; PATCH_LINGUAS="s:^LINGUAS =.*:LINGUAS = $${LINGUAS}:"; fi; cd ../$(PACKAGE)-$(VERSION) && mkdir build && cp $(BUILD)/Makefile.dpkg_ipkg $(BUILD)/Makefile.translation build/ && sed "s:^CVSBUILD =.*:CVSBUILD = no:;s:^DEBUG =.*:DEBUG = no:;s:Makefile.translation-auto-linguas:Makefile.translation:;$${PATCH_LINGUAS}" < Makefile > Makefile.new && mv Makefile.new Makefile )
( cd .. ; tar cf - $(PACKAGE)-$(VERSION) | gzip -9 >$(PACKAGE)-$(VERSION).tar.gz )
rm -rf ../$(PACKAGE)-$(VERSION)
$(MAKE) printinfo
dist-upload: dist
scp ../$(PACKAGE)-$(VERSION).tar.gz $(USER)@handhelds.org:/home/ftp/projects/gpe/source/
dist-prep:
ipkg-prep:
install-mo:
# empty, can be filled in Makefile.translation
install: install-program install-mo
clean-dist:
rm -rf familiar/dist familiar/dist.list
clean: clean-dist
check-source:
@if [ -f familiar/$(CONTROL) ] && ! grep -q '^Source:' familiar/$(CONTROL); then echo -e "\nNo Source: field in control file. Aborting.\n"; exit 1; fi
ipkg: check-source ipkg-prep clean
rm -rf familiar/dist
mkdir -p familiar/dist/CONTROL
sed 's:VERSION:$(VERSION):;s$$SOURCE$$$(SOURCE)$$' < familiar/$(CONTROL) > familiar/dist/CONTROL/control
if test -e familiar/conffiles; then install -m 644 familiar/conffiles familiar/dist/CONTROL; fi
if test -e familiar/preinst; then install familiar/preinst familiar/dist/CONTROL; fi
if test -e familiar/postinst; then install familiar/postinst familiar/dist/CONTROL; fi
if test -e familiar/prerm; then install familiar/prerm familiar/dist/CONTROL; fi
if test -e familiar/postrm; then install familiar/postrm familiar/dist/CONTROL; fi
$(MAKE) DESTDIR=`pwd`/familiar/dist PREFIX=/usr prefix=/usr DEBUG=no install-program
rm -rf familiar/dist.list
ipkg-build -o 0 -g 0 familiar/dist | sed 's/^Packaged .*into //; t 1; d; : 1; s:.*/::' >> familiar/dist.list
if [ "x$(LINGUAS)" != "x" ]; then make translation-ipkg; tr ' ' '\n' < translation-ipkgs.txt >> familiar/dist.list; fi
md5sum `cat familiar/dist.list` > $(PACKAGE)_$(VERSION).batch
rm -rf familiar/dist familiar/dist.list
$(MAKE) printinfo
dpkg: dist
mkdir -p $(DEB_PATH)
( olddir=`pwd`; cd $(DEB_PATH); rm -rf $(PACKAGE)-$(VERSION); ln -s $$olddir/../$(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)_$(VERSION).orig.tar.gz ; tar xzf $(PACKAGE)_$(VERSION).orig.tar.gz )
mkdir -p $(DEB_PATH)/$(PACKAGE)-$(VERSION)/debian
for i in debian/*; do if test -f $$i; then cp $$i $(DEB_PATH)/$(PACKAGE)-$(VERSION)/debian/; fi; done
CVSTAG := $(shell echo $(PACKAGE)-$(VERSION) | tr [a-z.] [A-Z_])
printinfo:
@printf '-------------------------------------------------------------------------------\n'
@printf "If this becomes a package release, please add a CVS tag.\n"
@printf "You can use 'make tag' for that, it will execute\n"
@printf " cvs tag %s\n" $(CVSTAG)
@printf "Please upload a tarball (created with 'make dist') to\n"
@printf " ftp://ftp.handhelds.org/pub/projects/gpe/\n"
@printf " (handhelds.org:~ftp/pub/projects/gpe/source)\n"
@printf "You can use 'make dist-upload' to do that.\n"
@printf "You are currently known as USER %s.\n" $(USER)
@printf '-------------------------------------------------------------------------------\n'
tag: check-source
cvs tag $(CVSTAG)
retag: check-source
cvs tag -F $(CVSTAG)
source: tag dist-upload
%.pc: %.pc.in
sed 's:PREFIX:$(PREFIX):;s:BUILDDIR:$(shell pwd):;s:VERSION:$(VERSION):' < $< > $@
.c.o:;
$(CC) $(CFLAGS) $(CPPFLAGS) $(PACKAGE_CFLAGS) $(PACKAGE_CPPFLAGS) -c $< -o $@
|