forked from gcompris/GCompris-gtk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.mingw.in
204 lines (184 loc) · 7.28 KB
/
Makefile.mingw.in
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
# Makefile.mingw
#
# Author: Bruno Coudoin (from GAIM example)
# Description: Top Makefile for win32 (mingw) port of GCompris
#
VERSION = "@VERSION@"
pkgdatadir = gcompris
GCOMPRIS_SRC = ./src/gcompris
GCOMPRIS_BOARDS = ./src/boards
CANVAS_SRC = ./src/goocanvas/src
GCOMPRIS_INSTALL_DIR = ./win32-install-dir
activity_dir = \
algebra_by-activity \
algebra_guesscount-activity \
awele-activity \
babymatch-activity \
billard-activity \
canal_lock-activity \
chess_computer-activity \
clickgame-activity \
click_on_letter-activity \
clockgame-activity \
crane-activity \
enumerate-activity \
erase-activity \
fifteen-activity \
gletters-activity \
hanoi-activity \
hanoi_real-activity \
imageid-activity \
leftright-activity \
magic_hat_minus-activity \
maze-activity \
memory-activity \
missing_letter-activity \
money-activity \
paratrooper-activity \
photohunter-activity \
planegame-activity \
railroad-activity \
readingh-activity \
reversecount-activity \
scalesboard-activity \
smallnumbers-activity \
submarine-activity \
superbrain-activity \
tangram-activity \
target-activity \
traffic-activity \
wordprocessor-activity \
wordsgame-activity
include global_win32.mak
# These will be copied in the win32-install-dir ready to be packaged.
NEEDED_DLLS = $(GNUCHESS_TOP)/bin/pthreadGC2.dll \
$(GNUCHESS_TOP)/bin/libreadline.dll \
$(FONTCONFIG_TOP)/bin/libfontconfig-1.dll \
$(FREETYPE_TOP)/bin/freetype6.dll \
$(GNUCAP_TOP)/src/MSW/gnucap.exe \
$(GTK_TOP)/bin/gspawn-win32-helper-console.exe \
$(GTK_TOP)/bin/gspawn-win32-helper.exe \
$(GTK_TOP)/bin/intl.dll \
$(GTK_TOP)/bin/libatk-1.0-0.dll \
$(GTK_TOP)/bin/libcairo-2.dll \
$(GTK_TOP)/bin/libexpat-1.dll \
$(GTK_TOP)/bin/libgdk-win32-2.0-0.dll \
$(GTK_TOP)/bin/libgdk_pixbuf-2.0-0.dll \
$(GTK_TOP)/bin/libglib-2.0-0.dll \
$(GTK_TOP)/bin/libgmodule-2.0-0.dll \
$(GTK_TOP)/bin/libgobject-2.0-0.dll \
$(GTK_TOP)/bin/libgthread-2.0-0.dll \
$(GTK_TOP)/bin/libgtk-win32-2.0-0.dll \
$(GTK_TOP)/bin/libpango-1.0-0.dll \
$(GTK_TOP)/bin/libpangocairo-1.0-0.dll \
$(GTK_TOP)/bin/libpangoft2-1.0-0.dll \
$(GTK_TOP)/bin/libpangowin32-1.0-0.dll \
$(GTK_TOP)/bin/libgio-2.0-0.dll \
$(GTK_TOP)/bin/libpng14-14.dll \
$(GTK_TOP)/bin/zlib1.dll \
$(ICONV_TOP)/bin/iconv.dll \
$(LIBXML2_TOP)/bin/libxml2.dll \
$(MSVCR90_DLL) \
$(SDL_TOP)/bin/SDL.dll \
$(SDLMIXER_TOP)/bin/SDL_mixer.dll \
$(SDLMIXER_TOP)/bin/libogg-0.dll \
$(SDLMIXER_TOP)/bin/libvorbis-0.dll \
$(SDLMIXER_TOP)/bin/libvorbisfile-3.dll \
$(SQLITE_TOP)/sqlite3.dll \
$(RSVG_TOP)/bin/librsvg-2-2.dll \
$(CROCO_TOP)/bin/libcroco-0.6-3.dll \
$(GSF_TOP)/bin/libgsf-1-114.dll
NEEDED_FILES = README \
README.mingw \
README.translators \
COPYING
##
##
all: Makefile.mingw config.h
$(MAKE) -C $(CANVAS_SRC) -f Makefile.mingw
$(MAKE) -C $(GCOMPRIS_BOARDS) -f Makefile.mingw
for actdir in $(activity_dir); do $(MAKE) -C src/$$actdir -f Makefile.mingw; done
$(MAKE) -C $(GCOMPRIS_SRC) -f Makefile.mingw
Makefile.mingw: Makefile.mingw.in config.h
./config.status Makefile.mingw
config.h: config.h.mingw.in configure
./config.status config.h.mingw
cp config.h.mingw config.h
gcompris-installer.nsi: gcompris-installer.nsi.in nsis_translations.desktop
./config.status gcompris-installer.nsi
./tools/create_nsis_translations.pl nsis_translations.desktop gcompris-installer.nsi nsis/translations
nsis_translations.desktop: nsis_translations.desktop.in
LC_ALL=C /usr/bin/intltool-merge -d -u -c ./po/.intltool-merge-cache ./po nsis_translations.desktop.in nsis_translations.desktop
install: all Makefile.mingw
mkdir -p $(GCOMPRIS_INSTALL_DIR)/share
$(MAKE) -C $(GCOMPRIS_SRC) -f Makefile.mingw install
cp -r $(GCOMPRIS_BOARDS)/python $(GCOMPRIS_INSTALL_DIR)/share/gcompris
rm -f $(GCOMPRIS_INSTALL_DIR)/share/gcompris/python/Makefile*
rm -f $(GCOMPRIS_INSTALL_DIR)/share/gcompris/python/gcompris/Makefile*
rm -f $(GCOMPRIS_INSTALL_DIR)/share/gcompris/python/admin/Makefile*
# Copy mandratory files for the package in the package directory
prepack: Makefile.mingw
mkdir -p $(GCOMPRIS_INSTALL_DIR)
cp $(NEEDED_DLLS) $(GCOMPRIS_INSTALL_DIR)
cp -r $(LOCAL_PREFIX)/Microsoft.VC90.CRT $(GCOMPRIS_INSTALL_DIR)
cp $(NEEDED_FILES) $(GCOMPRIS_INSTALL_DIR)
cp -r $(GTK_TOP)/etc $(GCOMPRIS_INSTALL_DIR)
rm -rf $(GCOMPRIS_INSTALL_DIR)/etc/bash_completion.d
cp -r $(GTK_TOP)/manifest $(GCOMPRIS_INSTALL_DIR)
mkdir -p $(GCOMPRIS_INSTALL_DIR)/share
cp -r $(GTK_TOP)/share/themes $(GCOMPRIS_INSTALL_DIR)/share
mkdir -p $(GCOMPRIS_INSTALL_DIR)/lib
cp -r $(GTK_TOP)/share/locale $(GCOMPRIS_INSTALL_DIR)/lib
cp -r $(GTK_TOP)/lib/gdk-pixbuf-2.0 $(GCOMPRIS_INSTALL_DIR)/lib
cp -r $(GTK_TOP)/lib/gtk-2.0 $(GCOMPRIS_INSTALL_DIR)/lib
cp $(LOCAL_PREFIX)/libxml2-2.7.6.win32/bin/libxml2.dll $(GCOMPRIS_INSTALL_DIR)/libxml2-2.dll
mkdir -p $(GCOMPRIS_INSTALL_DIR)/bin
cp $(GNUCHESS_TOP)/bin/gnuchess.exe $(GCOMPRIS_INSTALL_DIR)/bin
cp gcompris.bat $(GCOMPRIS_INSTALL_DIR)
cp gcompris.ico $(GCOMPRIS_INSTALL_DIR)
cp gc_admin.ico $(GCOMPRIS_INSTALL_DIR)
rm -rf $(GCOMPRIS_INSTALL_DIR)/build
python: Makefile.mingw
cp $(PYTHON_TOP)/DLLs/tcl85.dll $(GCOMPRIS_INSTALL_DIR)
cp $(PYTHON_TOP)/DLLs/tk85.dll $(GCOMPRIS_INSTALL_DIR)
cp $(PYTHON_TOP)/python27.dll $(GCOMPRIS_INSTALL_DIR)
cp tools/py2exe/gcompris.py $(GCOMPRIS_INSTALL_DIR)
cp tools/py2exe/setup.py $(GCOMPRIS_INSTALL_DIR)
cd $(GCOMPRIS_INSTALL_DIR);$(PYTHON_TOP)/python.exe setup.py py2exe;cp dist/library.zip python27.zip;cp dist/*.pyd .;rm -rf dist build;rm -f gcompris.py*;cd ..
rm -f $(GCOMPRIS_INSTALL_DIR)/tcl85.dll
rm -f $(GCOMPRIS_INSTALL_DIR)/tk85.dll
installer: Makefile.mingw gcompris-installer.nsi
$(MAKENSIS) gcompris-installer.nsi
clean: Makefile.mingw
$(MAKE) -C $(CANVAS_SRC) -f Makefile.mingw clean
$(MAKE) -C $(GCOMPRIS_SRC) -f Makefile.mingw clean
$(MAKE) -C $(GCOMPRIS_BOARDS) -f Makefile.mingw clean
for actdir in $(activity_dir); do $(MAKE) -C src/$$actdir -f Makefile.mingw clean; done
rm -rf config.h
rm -rf gcompris*.exe
rm -f gcompris-installer.nsi
rm -f nsis_translations.desktop
#
# Run this on Linux to prepare datadir for windows
#
prep: Makefile.mingw
mkdir -p $(GCOMPRIS_INSTALL_DIR)
mkdir -p $(GCOMPRIS_INSTALL_DIR)/share/$(pkgdatadir)/boards
@echo "-------------------------------------------------------------------------------"
@echo " WARNING: MAKE SURE TO HAVE RUN A MAKE INSTALL OF GCOMPRIS IN /USR/LOCAL FIRST"
@echo "-------------------------------------------------------------------------------"
mkdir -p $(GCOMPRIS_INSTALL_DIR)/share/locale
cp -r /usr/local/share/locale/* $(GCOMPRIS_INSTALL_DIR)/share/locale/
@echo "Remove other .mo file not from gcompris"
find ./win32-install-dir/share/locale/ -name \*.mo | grep -v gcompris.mo | xargs rm -f
@echo "Copying activity data from /usr/local/share/gcompris"
mkdir -p $(GCOMPRIS_INSTALL_DIR)/share/gcompris
cp -r /usr/local/share/gcompris/* $(GCOMPRIS_INSTALL_DIR)/share/gcompris
@echo "Copy pixmap"
mkdir -p $(GCOMPRIS_INSTALL_DIR)/share/pixmaps
cp gcompris.png $(GCOMPRIS_INSTALL_DIR)/share/pixmaps
@echo remove tuxpaint activity
rm -f $(GCOMPRIS_INSTALL_DIR)/share/$(pkgdatadir)/boards/tuxpaint.xml
rm -f $(GCOMPRIS_INSTALL_DIR)/share/gcompris/python/tuxpaint.py
find $(GCOMPRIS_INSTALL_DIR) -name "Makefile*" -exec rm -f {} \;
find $(GCOMPRIS_INSTALL_DIR) -name "*~" -exec rm -f {} \;