2 #-------------------------------------------------------------------------------
5 VERSION= $(shell sh scripts/version.sh)
8 $(error Failed to obtain version for this build.)
11 #------------------------------------------------------------------------------
13 # Maybe you need one of these. Maybe you don't.
15 #X11_PATH= -L/usr/X11/lib
16 #X11_PATH= -L/usr/X11R6/lib
19 #OGL_LIBS= -lm # Think Different
21 CFLAGS= -Wall -g -O3 -ansi -pedantic $(shell sdl-config --cflags)
22 #CFLAGS= -Wall -g -O1 -ansi -pedantic $(shell sdl-config --cflags)
23 #CFLAGS= -Wall -pg -ansi $(shell sdl-config --cflags)
25 CPPFLAGS := -DVERSION=\"$(VERSION)\" -Ishare $(CPPFLAGS)
27 SDL_LIBS= $(shell sdl-config --libs)
28 PNG_LIBS= $(shell libpng-config --libs)
34 MAPC_EXEC= ./$(MAPC_TARG)
39 POTFILE= po/neverball.pot
41 #-------------------------------------------------------------------------------
102 share/base_config.o \
116 BALL_DEPS= $(BALL_OBJS:.o=.d)
117 PUTT_DEPS= $(PUTT_OBJS:.o=.d)
118 MAPC_DEPS= $(MAPC_OBJS:.o=.d)
120 BASE_LIBS= $(SDL_LIBS) -lSDL_image
121 LIBS= $(X11_PATH) $(BASE_LIBS) $(PNG_LIBS) -lSDL_ttf -lSDL_mixer $(OGL_LIBS)
123 MESSAGEPART= /LC_MESSAGES/$(LOCALEDOM).mo
124 MESSAGES= $(LINGUAS:%=$(LOCALEDIR)/%$(MESSAGEPART))
126 MAPS= $(shell find data/ -name '*.map')
127 SOLS= $(MAPS:%.map=%.sol)
129 POS= $(shell echo po/*.po)
130 LINGUAS= $(POS:po/%.po=%)
132 #------------------------------------------------------------------------------
134 #------------------------------------------------------------------------------
137 $(CC) $(CFLAGS) $(CPPFLAGS) -MM -MF $@ -MT '$*.o $@' $<
140 $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
142 %.sol : %.map $(MAPC_TARG)
145 $(LOCALEDIR)/%$(MESSAGEPART) : po/%.po
146 mkdir -p `dirname $@`
147 msgfmt -c -v -o $@ $<
149 #------------------------------------------------------------------------------
151 #------------------------------------------------------------------------------
153 all : $(BALL_TARG) $(PUTT_TARG) $(MAPC_TARG) sols locales
155 $(BALL_TARG) : $(BALL_OBJS)
156 $(CC) $(CFLAGS) -o $(BALL_TARG) $(BALL_OBJS) $(LIBS)
158 $(PUTT_TARG) : $(PUTT_OBJS)
159 $(CC) $(CFLAGS) -o $(PUTT_TARG) $(PUTT_OBJS) $(LIBS)
161 $(MAPC_TARG) : $(MAPC_OBJS)
162 $(CC) $(CFLAGS) -o $(MAPC_TARG) $(MAPC_OBJS) $(BASE_LIBS)
166 locales : $(MESSAGES)
169 rm -f $(BALL_TARG) $(BALL_OBJS) $(BALL_DEPS)
170 rm -f $(PUTT_TARG) $(PUTT_OBJS) $(PUTT_DEPS)
171 rm -f $(MAPC_TARG) $(MAPC_OBJS) $(MAPC_DEPS)
184 $(MAKE) -f Makefile.mingw $*
186 #------------------------------------------------------------------------------
188 #------------------------------------------------------------------------------
195 sh scripts/extractpo.sh $(POTFILE) $(LOCALEDOM)
197 po-update-merge : $(POS)
199 po-update : po-update-extract po-update-merge
201 #------------------------------------------------------------------------------
203 .PHONY : all sols locales clean-src clean test \
204 po-update-extract po-update-merge po-update \
207 -include $(BALL_DEPS) $(PUTT_DEPS) $(MAPC_DEPS)