Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/Makefile.mingw.in
blob: f4c5653db582229583b99d010b66d1c93ff0113c (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
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
# 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
GCOMPRIS_INSTALL_DIR = ./win32-install-dir

GTK_TOP :=		/gtk
GNUWIN32_TOP :=		/gnuwin32
LIBXML2_TOP :=		/libxml2
SDL_TOP :=		/sdl
CANVAS_TOP :=		/gnomecanvas
GNUCHESS_TOP :=		/gnuchess
PYTHON_DLL :=		/c/WINDOWS/system32/python24.dll
GNUCAP_TOP :=		/gnucap

MAKENSIS := "/c/Program Files/NSIS/makensis.exe"

# These will be copied in the win32-install-dir ready to be packaged.
NEEDED_DLLS =		$(GNUCHESS_TOP)/bin/pthreadGC.dll \
			$(GNUCHESS_TOP)/bin/libreadline.dll \
			$(PYTHON_DLL) \
			$(GNUCAP_TOP)/src/MSW/gnucap.exe \
			$(GTK_TOP)/bin/gspawn-win32-helper.exe \
			$(GNUCHESS_TOP)/bin/gnuchess.exe \
			$(GNUWIN32_TOP)/bin/popt1.dll \
			$(GNUWIN32_TOP)/bin/libintl-2.dll \
			$(GNUWIN32_TOP)/bin/libiconv-2.dll \
			$(CANVAS_TOP)/bin/libgnomecanvas-2-0.dll \
			$(SDL_TOP)/bin/SDL.dll \
			$(SDL_TOP)/bin/SDL_mixer.dll \
			$(LIBXML2_TOP)/bin/libxml2.dll \
			$(GTK_TOP)/bin/freetype6.dll \
			$(GTK_TOP)/bin/intl.dll \
			$(GTK_TOP)/bin/libcairo-2.dll \
			$(GTK_TOP)/bin/libpangocairo-1.0-0.dll \
			$(GTK_TOP)/bin/libart_lgpl_2-2.dll \
			$(GTK_TOP)/bin/freetype6.dll \
			$(GTK_TOP)/bin/libart_lgpl_2-2.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/libpango-1.0-0.dll \
			$(GTK_TOP)/bin/libpangowin32-1.0-0.dll \
			$(GTK_TOP)/bin/libpangoft2-1.0-0.dll \
			$(GTK_TOP)/bin/libgtk-win32-2.0-0.dll \
			$(GTK_TOP)/bin/libatk-1.0-0.dll \
			$(GTK_TOP)/bin/libfontconfig-1.dll \
			$(GTK_TOP)/bin/zlib1.dll \
			$(GTK_TOP)/bin/libgthread-2.0-0.dll \
			$(GTK_TOP)/expat/bin/xmlparse.dll \
			$(GTK_TOP)/expat/bin/xmltok.dll \
			$(GTK_TOP)/bin/iconv.dll \
			$(GTK_TOP)/bin/intl.dll \
			$(GTK_TOP)/bin/libpng13.dll \
			$(GTK_TOP)/bin/jpeg62.dll \
			/c/WINDOWS/system32/msvcr71.dll

NEEDED_FILES =		README \
			COPYING \
	     		README.mingw \
			Changelog

##
##

all:
	cp config.h.mingw config.h
	$(MAKE) -C $(GCOMPRIS_BOARDS) -f Makefile.mingw
	$(MAKE) -C $(GCOMPRIS_SRC) -f Makefile.mingw


install: all
	mkdir -p $(GCOMPRIS_INSTALL_DIR)/share
	$(MAKE) -C $(GCOMPRIS_BOARDS) -f Makefile.mingw install
	$(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*
	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:
	mkdir -p $(GCOMPRIS_INSTALL_DIR)/GTK
	cp $(NEEDED_DLLS) $(GCOMPRIS_INSTALL_DIR)
	cp $(NEEDED_FILES) $(GCOMPRIS_INSTALL_DIR)
	cp -r $(GTK_TOP)/etc $(GCOMPRIS_INSTALL_DIR)
	mkdir -p $(GCOMPRIS_INSTALL_DIR)/GTK/share
	cp -r $(GTK_TOP)/share/themes $(GCOMPRIS_INSTALL_DIR)/share
	mkdir -p $(GCOMPRIS_INSTALL_DIR)/lib
	cp -r $(GTK_TOP)/lib/locale $(GCOMPRIS_INSTALL_DIR)/lib
	cp -r $(GTK_TOP)/lib/gtk-2.0 $(GCOMPRIS_INSTALL_DIR)/lib
	cp -r $(GTK_TOP)/lib/pango $(GCOMPRIS_INSTALL_DIR)/lib

python:
	cp tools/py2exe/gcompris.py $(GCOMPRIS_INSTALL_DIR)
	cp tools/py2exe/setup.py $(GCOMPRIS_INSTALL_DIR)
	cd $(GCOMPRIS_INSTALL_DIR);/c/Python24/python.exe setup.py py2exe;cp dist/library.zip python24.zip;cp dist/*.pyd .;rm -rf dist build;rm -f gcompris.py*;cd ..

installer:
	$(MAKENSIS) gcompris-installer.nsi

clean:
	$(MAKE) -C $(GCOMPRIS_SRC) -f Makefile.mingw clean
	$(MAKE) -C $(GCOMPRIS_BOARDS) -f Makefile.mingw clean
	rm -rf config.h
	rm -rf gcompris*.exe

#
# Run this on Linux to prepare datadir for windows
#
prep:
	mkdir $(GCOMPRIS_INSTALL_DIR)
	mkdir -p $(GCOMPRIS_INSTALL_DIR)/share/$(pkgdatadir)/boards
	cd boards ; tar cf -  --exclude "Makefile.in" --exclude "*.in" --exclude "*~" --exclude "Makefile" --exclude "Makefile.am" --exclude CVS --exclude .xvpics * | ( cd ../$(GCOMPRIS_INSTALL_DIR)/share/$(pkgdatadir)/boards ; tar xf -) ; cd .. ;
	@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 "Copy pixmap"
	mkdir $(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
	@echo "Create the file gcompris-win-prepack.tar.gz"
	tar -czf gcompris-win-prepack.tar.gz win32-install-dir nsis tools