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
22 #CFLAGS += -Wall -g -O1 -ansi -pedantic
23 #CFLAGS += -Wall -pg -ansi
25 CPPFLAGS += $(shell sdl-config --cflags) -DVERSION=\"$(VERSION)\" -Ishare
27 SDL_LIBS= $(shell sdl-config --libs)
28 PNG_LIBS= $(shell libpng-config --libs)
31 BALL_TARG= neverball$(EXT)
32 PUTT_TARG= neverputt$(EXT)
37 POTFILE= po/neverball.pot
39 #-------------------------------------------------------------------------------
113 BALL_DEPS= $(BALL_OBJS:.o=.d)
114 PUTT_DEPS= $(PUTT_OBJS:.o=.d)
115 MAPC_DEPS= $(MAPC_OBJS:.o=.d)
117 BASE_LIBS= $(SDL_LIBS) -lSDL_image
118 LIBS= $(X11_PATH) $(BASE_LIBS) $(PNG_LIBS) -lSDL_ttf -lSDL_mixer $(OGL_LIBS)
120 MESSAGEPART= /LC_MESSAGES/$(LOCALEDOM).mo
121 MESSAGES= $(LINGUAS:%=$(LOCALEDIR)/%$(MESSAGEPART))
123 MAPS= $(shell find data/ -name '*.map')
124 SOLS= $(MAPS:%.map=%.sol)
126 POS= $(shell echo po/*.po)
127 LINGUAS= $(POS:po/%.po=%)
129 #------------------------------------------------------------------------------
131 #------------------------------------------------------------------------------
134 $(CC) $(CFLAGS) $(CPPFLAGS) -MM -MF $@ -MT '$*.o $@' $<
137 $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
139 %.sol : %.map $(MAPC_TARG)
140 $(WINE) ./$(MAPC_TARG) $< data
142 $(LOCALEDIR)/%$(MESSAGEPART) : po/%.po
143 mkdir -p `dirname $@`
144 msgfmt -c -v -o $@ $<
146 #------------------------------------------------------------------------------
148 #------------------------------------------------------------------------------
150 all : $(BALL_TARG) $(PUTT_TARG) $(MAPC_TARG) sols locales
152 $(BALL_TARG) : $(BALL_OBJS)
153 $(CC) $(CFLAGS) -o $(BALL_TARG) $(BALL_OBJS) $(LDFLAGS) $(LIBS)
155 $(PUTT_TARG) : $(PUTT_OBJS)
156 $(CC) $(CFLAGS) -o $(PUTT_TARG) $(PUTT_OBJS) $(LDFLAGS) $(LIBS)
158 $(MAPC_TARG) : $(MAPC_OBJS)
159 $(CC) $(CFLAGS) -o $(MAPC_TARG) $(MAPC_OBJS) $(LDFLAGS) $(BASE_LIBS)
163 locales : $(MESSAGES)
166 rm -f $(BALL_TARG) $(BALL_OBJS) $(BALL_DEPS)
167 rm -f $(PUTT_TARG) $(PUTT_OBJS) $(PUTT_DEPS)
168 rm -f $(MAPC_TARG) $(MAPC_OBJS) $(MAPC_DEPS)
178 $(MAKE) -f Makefile.mingw $*
180 #------------------------------------------------------------------------------
182 #------------------------------------------------------------------------------
189 sh scripts/extractpo.sh $(POTFILE) $(LOCALEDOM)
191 po-update-merge : $(POS)
193 po-update : po-update-extract po-update-merge
195 #------------------------------------------------------------------------------
197 .PHONY : all sols locales clean-src clean test \
198 po-update-extract po-update-merge po-update \
201 -include $(BALL_DEPS) $(PUTT_DEPS) $(MAPC_DEPS)