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
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 #-------------------------------------------------------------------------------
101 share/base_config.o \
115 BALL_DEPS= $(BALL_OBJS:.o=.d)
116 PUTT_DEPS= $(PUTT_OBJS:.o=.d)
117 MAPC_DEPS= $(MAPC_OBJS:.o=.d)
119 BASE_LIBS= $(SDL_LIBS) -lSDL_image
120 LIBS= $(X11_PATH) $(BASE_LIBS) $(PNG_LIBS) -lSDL_ttf -lSDL_mixer $(OGL_LIBS)
122 MESSAGEPART= /LC_MESSAGES/$(LOCALEDOM).mo
123 MESSAGES= $(LINGUAS:%=$(LOCALEDIR)/%$(MESSAGEPART))
125 MAPS= $(shell find data/ -name '*.map')
126 SOLS= $(MAPS:%.map=%.sol)
128 POS= $(shell echo po/*.po)
129 LINGUAS= $(POS:po/%.po=%)
131 #------------------------------------------------------------------------------
133 #------------------------------------------------------------------------------
136 $(CC) $(CFLAGS) $(CPPFLAGS) -MM -MF $@ -MT '$*.o $@' $<
139 $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
141 %.sol : %.map $(MAPC_TARG)
142 $(WINE) ./$(MAPC_TARG) $< data
144 $(LOCALEDIR)/%$(MESSAGEPART) : po/%.po
145 mkdir -p `dirname $@`
146 msgfmt -c -v -o $@ $<
148 #------------------------------------------------------------------------------
150 #------------------------------------------------------------------------------
152 all : $(BALL_TARG) $(PUTT_TARG) $(MAPC_TARG) sols locales
154 $(BALL_TARG) : $(BALL_OBJS)
155 $(CC) $(CFLAGS) -o $(BALL_TARG) $(BALL_OBJS) $(LDFLAGS) $(LIBS)
157 $(PUTT_TARG) : $(PUTT_OBJS)
158 $(CC) $(CFLAGS) -o $(PUTT_TARG) $(PUTT_OBJS) $(LDFLAGS) $(LIBS)
160 $(MAPC_TARG) : $(MAPC_OBJS)
161 $(CC) $(CFLAGS) -o $(MAPC_TARG) $(MAPC_OBJS) $(LDFLAGS) $(BASE_LIBS)
165 locales : $(MESSAGES)
168 rm -f $(BALL_TARG) $(BALL_OBJS) $(BALL_DEPS)
169 rm -f $(PUTT_TARG) $(PUTT_OBJS) $(PUTT_DEPS)
170 rm -f $(MAPC_TARG) $(MAPC_OBJS) $(MAPC_DEPS)
180 $(MAKE) -f Makefile.mingw $*
182 #------------------------------------------------------------------------------
184 #------------------------------------------------------------------------------
191 sh scripts/extractpo.sh $(POTFILE) $(LOCALEDOM)
193 po-update-merge : $(POS)
195 po-update : po-update-extract po-update-merge
197 #------------------------------------------------------------------------------
199 .PHONY : all sols locales clean-src clean test \
200 po-update-extract po-update-merge po-update \
203 -include $(BALL_DEPS) $(PUTT_DEPS) $(MAPC_DEPS)