2 #------------------------------------------------------------------------------
4 # Maybe you need one of these. Maybe you don't.
6 #X11_PATH= -L/usr/X11/lib
7 #X11_PATH= -L/usr/X11R6/lib
10 #OGL_LIBS= -lm # Think Different
12 #------------------------------------------------------------------------------
14 CFLAGS= -Wall -O3 -ansi -pedantic $(shell sdl-config --cflags)
15 #CFLAGS= -Wall -g -ansi $(shell sdl-config --cflags)
16 #CFLAGS= -Wall -pg -ansi $(shell sdl-config --cflags)
18 SDL_LIBS= $(shell sdl-config --libs)
19 FT2_LIBS= $(shell freetype-config --libs)
28 LINGUAS= fr lv # List of locales to generates
29 POTFILE= po/neverball.pot
94 BALL_DEPS= $(BALL_OBJS:.o=.d)
95 PUTT_DEPS= $(PUTT_OBJS:.o=.d)
96 MAPC_DEPS= $(MAPC_OBJS:.o=.d)
98 LIBS= $(X11_PATH) $(SDL_LIBS) -lSDL_image -lSDL_ttf -lSDL_mixer $(FT2_LIBS) $(OGL_LIBS)
100 MESSAGEPART= /LC_MESSAGES/$(LOCALEDOM).mo
101 MESSAGES= $(LINGUAS:%=$(LOCALEDIR)/%$(MESSAGEPART))
104 data/map-rlk/easy.sol \
105 data/map-rlk/peasy.sol \
106 data/map-rlk/coins.sol \
107 data/map-rlk/goslow.sol \
108 data/map-rlk/fence.sol \
109 data/map-rlk/bumper.sol \
110 data/map-rlk/maze.sol \
111 data/map-rlk/goals.sol \
112 data/map-rlk/hole.sol \
113 data/map-rlk/bumps.sol \
114 data/map-rlk/corners.sol \
115 data/map-rlk/easytele.sol \
116 data/map-rlk/zigzag.sol \
117 data/map-rlk/greed.sol \
118 data/map-rlk/mover.sol \
119 data/map-rlk/wakka.sol \
120 data/map-rlk/curbs.sol \
121 data/map-rlk/curved.sol \
122 data/map-rlk/stairs.sol \
123 data/map-rlk/rampdn.sol \
124 data/map-rlk/sync.sol \
125 data/map-rlk/spiralin.sol \
126 data/map-rlk/plinko.sol \
127 data/map-rlk/drops.sol \
128 data/map-rlk/locks.sol \
129 data/map-rlk/grid.sol \
130 data/map-rlk/four.sol \
131 data/map-rlk/telemaze.sol \
132 data/map-rlk/spiraldn.sol \
133 data/map-rlk/islands.sol \
134 data/map-rlk/angle.sol \
135 data/map-rlk/spiralup.sol \
136 data/map-rlk/rampup.sol \
137 data/map-rlk/check.sol \
138 data/map-rlk/risers.sol \
139 data/map-rlk/tilt.sol \
140 data/map-rlk/gaps.sol \
141 data/map-rlk/pyramid.sol \
142 data/map-rlk/quads.sol \
143 data/map-rlk/frogger.sol \
144 data/map-rlk/timer.sol \
145 data/map-rlk/spread.sol \
146 data/map-rlk/hump.sol \
147 data/map-rlk/movers.sol \
148 data/map-rlk/teleport.sol \
149 data/map-rlk/poker.sol \
150 data/map-rlk/invis.sol \
151 data/map-rlk/ring.sol \
152 data/map-rlk/pipe.sol \
153 data/map-rlk/title.sol \
154 data/map-mym/assault.sol \
155 data/map-mym/bombman.sol \
156 data/map-mym/circuit1.sol \
157 data/map-mym/circuit2.sol \
158 data/map-mym/climb.sol \
159 data/map-mym/comeback.sol \
160 data/map-mym/dance2.sol \
161 data/map-mym/dance1.sol \
162 data/map-mym/descent.sol \
163 data/map-mym/drive1.sol \
164 data/map-mym/drive2.sol \
165 data/map-mym/earthquake.sol \
166 data/map-mym/glasstower.sol \
167 data/map-mym/hard.sol \
168 data/map-mym/loop1.sol \
169 data/map-mym/loop2.sol \
170 data/map-mym/maze1.sol \
171 data/map-mym/maze2.sol \
172 data/map-mym/narrow.sol \
173 data/map-mym/running.sol \
174 data/map-mym/scrambling.sol \
175 data/map-mym/snow.sol \
176 data/map-mym/trust.sol \
177 data/map-mym/turn.sol \
178 data/map-mym/up.sol \
179 data/map-mym2/backforth.sol \
180 data/map-mym2/basket.sol \
181 data/map-mym2/bigball.sol \
182 data/map-mym2/bigcones.sol \
183 data/map-mym2/bounces.sol \
184 data/map-mym2/fall.sol \
185 data/map-mym2/freefall.sol \
186 data/map-mym2/ghosts.sol \
187 data/map-mym2/grinder.sol \
188 data/map-mym2/littlecones.sol \
189 data/map-mym2/longpipe.sol \
190 data/map-mym2/morenarrow.sol \
191 data/map-mym2/movinglumps.sol \
192 data/map-mym2/movingpath.sol \
193 data/map-mym2/push.sol \
194 data/map-mym2/rainbow.sol \
195 data/map-mym2/rodeo.sol \
196 data/map-mym2/runstop.sol \
197 data/map-mym2/shaker.sol \
198 data/map-mym2/sonic.sol \
199 data/map-mym2/speeddance.sol \
200 data/map-mym2/speed.sol \
201 data/map-mym2/translation.sol \
202 data/map-mym2/updown.sol \
203 data/map-mym2/webs.sol \
204 data/map-putt/01_easy.sol \
205 data/map-putt/02_uturn.sol \
206 data/map-putt/03_kink.sol \
207 data/map-putt/04_aych.sol \
208 data/map-putt/05_ramp.sol \
209 data/map-putt/06_cone.sol \
210 data/map-putt/07_tele.sol \
211 data/map-putt/08_zig.sol \
212 data/map-putt/09_vturn.sol \
213 data/map-putt/10_diamond.sol \
214 data/map-putt/11_mover.sol \
215 data/map-putt/12_bumpy.sol \
216 data/map-putt/13_choose.sol \
217 data/map-putt/14_walls.sol \
218 data/map-putt/15_hole.sol \
219 data/map-putt/16_pipe.sol \
220 data/map-putt/17_timing.sol \
221 data/map-putt/18_hill.sol \
222 data/map-back/alien.sol \
223 data/map-back/blank.sol \
224 data/map-back/city.sol \
225 data/map-back/clouds.sol \
226 data/map-back/ocean.sol \
227 data/map-back/jupiter.sol \
228 data/map-paxed/01_fastpenta.sol \
229 data/map-paxed/02_bumpy_road.sol \
230 data/map-paxed/03_zigzag.sol \
231 data/map-paxed/04_u_twist.sol \
232 data/map-paxed/05_hookey.sol \
233 data/map-paxed/06_partitions.sol \
234 data/map-paxed/07_a_danger.sol \
235 data/map-paxed/08_f.sol \
236 data/map-paxed/09_rampedge.sol \
237 data/map-paxed/10_pentomino.sol \
238 data/map-paxed/11_stapler.sol \
239 data/map-paxed/12_helixramp.sol \
240 data/map-paxed/13_loch_ness.sol \
241 data/map-paxed/14_figur8.sol \
242 data/map-paxed/15_upNdown.sol \
243 data/map-paxed/16_pyramidian.sol \
244 data/map-paxed/17_oopsydaisy.sol \
245 data/map-paxed/18_3rd_floor.sol \
246 data/map-paxed/a.sol \
247 data/map-paxed/b.sol \
248 data/map-paxed/c.sol \
249 data/map-paxed/d.sol \
250 data/map-paxed/e.sol \
251 data/map-paxed/f.sol \
252 data/map-paxed/g.sol \
253 data/map-paxed/h.sol \
254 data/map-paxed/i.sol \
255 data/map-paxed/j.sol \
256 data/map-paxed/k.sol \
257 data/map-paxed/l.sol \
258 data/map-paxed/m.sol \
259 data/map-paxed/n.sol \
260 data/map-paxed/o.sol \
261 data/map-paxed/p.sol \
262 data/map-paxed/q.sol \
263 data/map-paxed/r.sol \
264 data/map-paxed/s.sol \
265 data/map-paxed/t.sol \
266 data/map-paxed/u.sol \
267 data/map-paxed/v.sol \
268 data/map-paxed/w.sol \
269 data/map-paxed/x.sol \
270 data/map-paxed/y.sol \
273 #------------------------------------------------------------------------------
276 $(CC) $(CFLAGS) -Ishare -MM -MF $@ $<
279 $(CC) $(CFLAGS) -Ishare -o $@ -c $<
281 $(LOCALEDIR)/%$(MESSAGEPART) : po/%.po
282 mkdir -p `dirname $@`
283 msgfmt -c -v -o $@ $<
285 data/map-rlk/%.sol : data/map-rlk/%.map $(MAPC_TARG)
286 ./$(MAPC_TARG) $< data
288 data/map-mym/%.sol : data/map-mym/%.map $(MAPC_TARG)
289 ./$(MAPC_TARG) $< data
291 data/map-mym2/%.sol : data/map-mym2/%.map $(MAPC_TARG)
292 ./$(MAPC_TARG) $< data
294 data/map-putt/%.sol : data/map-putt/%.map $(MAPC_TARG)
295 ./$(MAPC_TARG) $< data
297 data/map-back/%.sol : data/map-back/%.map $(MAPC_TARG)
298 ./$(MAPC_TARG) $< data
300 data/map-paxed/%.sol : data/map-paxed/%.map $(MAPC_TARG)
301 ./$(MAPC_TARG) $< data
303 #------------------------------------------------------------------------------
305 all : $(BALL_TARG) $(PUTT_TARG) $(MAPC_TARG) $(SOLS) locales
307 $(BALL_TARG) : $(BALL_OBJS)
308 $(CC) $(CFLAGS) -o $(BALL_TARG) $(BALL_OBJS) $(LIBS)
310 $(PUTT_TARG) : $(PUTT_OBJS)
311 $(CC) $(CFLAGS) -o $(PUTT_TARG) $(PUTT_OBJS) $(LIBS)
313 $(MAPC_TARG) : $(MAPC_OBJS)
314 $(CC) $(CFLAGS) -o $(MAPC_TARG) $(MAPC_OBJS) $(LIBS)
319 rm -f $(BALL_TARG) $(BALL_OBJS) $(BALL_DEPS)
320 rm -f $(PUTT_TARG) $(PUTT_OBJS) $(PUTT_DEPS)
321 rm -f $(MAPC_TARG) $(MAPC_OBJS) $(MAPC_DEPS)
330 #------------------------------------------------------------------------------
337 bash extractpo.sh $(POTFILE) $(LOCALEDOM)
339 po-update-merge : $(LINGUAS:%=po/%.po)
341 po-update : po-update-extract po-update-merge
343 #------------------------------------------------------------------------------