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 #------------------------------------------------------------------------------
13 # Configuration constants
14 #------------------------------------------------------------------------------
16 CFLAGS= -Wall -g -O3 -ansi -pedantic $(shell sdl-config --cflags)
17 #CFLAGS= -Wall -g -O1 -ansi -pedantic $(shell sdl-config --cflags)
18 #CFLAGS= -Wall -pg -ansi $(shell sdl-config --cflags)
20 CPPFLAGS := -Ishare $(CPPFLAGS)
22 SDL_LIBS= $(shell sdl-config --libs)
23 PNG_LIBS= $(shell libpng-config --libs)
29 MAPC_EXEC= ./$(MAPC_TARG)
34 POTFILE= po/neverball.pot
36 #-------------------------------------------------------------------------------
111 BALL_DEPS= $(BALL_OBJS:.o=.d)
112 PUTT_DEPS= $(PUTT_OBJS:.o=.d)
113 MAPC_DEPS= $(MAPC_OBJS:.o=.d)
115 BASE_LIBS= $(SDL_LIBS) -lSDL_image
116 LIBS= $(X11_PATH) $(BASE_LIBS) $(PNG_LIBS) -lSDL_ttf -lSDL_mixer $(OGL_LIBS)
118 MESSAGEPART= /LC_MESSAGES/$(LOCALEDOM).mo
119 MESSAGES= $(LINGUAS:%=$(LOCALEDIR)/%$(MESSAGEPART))
121 MAPS= $(shell find data/ -name '*.map')
122 SOLS= $(MAPS:%.map=%.sol)
124 POS= $(shell echo po/*.po)
125 LINGUAS= $(POS:po/%.po=%)
127 #------------------------------------------------------------------------------
129 #------------------------------------------------------------------------------
132 $(CC) $(CFLAGS) $(CPPFLAGS) -MM -MF $@ -MT '$*.o $@' $<
135 $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
137 %.sol : %.map $(MAPC_TARG)
140 $(LOCALEDIR)/%$(MESSAGEPART) : po/%.po
141 mkdir -p `dirname $@`
142 msgfmt -c -v -o $@ $<
144 #------------------------------------------------------------------------------
146 #------------------------------------------------------------------------------
148 all : $(BALL_TARG) $(PUTT_TARG) $(MAPC_TARG) sols locales
150 $(BALL_TARG) : $(BALL_OBJS)
151 $(CC) $(CFLAGS) -o $(BALL_TARG) $(BALL_OBJS) $(LIBS)
153 $(PUTT_TARG) : $(PUTT_OBJS)
154 $(CC) $(CFLAGS) -o $(PUTT_TARG) $(PUTT_OBJS) $(LIBS)
156 $(MAPC_TARG) : $(MAPC_OBJS)
157 $(CC) $(CFLAGS) -o $(MAPC_TARG) $(MAPC_OBJS) $(BASE_LIBS)
161 locales : $(MESSAGES)
164 rm -f $(BALL_TARG) $(BALL_OBJS) $(BALL_DEPS)
165 rm -f $(PUTT_TARG) $(PUTT_OBJS) $(PUTT_DEPS)
166 rm -f $(MAPC_TARG) $(MAPC_OBJS) $(MAPC_DEPS)
178 #------------------------------------------------------------------------------
180 #------------------------------------------------------------------------------
187 sh extractpo.sh $(POTFILE) $(LOCALEDOM)
189 po-update-merge : $(POS)
191 po-update : po-update-extract po-update-merge
193 #------------------------------------------------------------------------------
195 .PHONY : all sols locales clean-src clean test \
196 po-update-extract po-update-merge po-update \
199 -include $(BALL_DEPS) $(PUTT_DEPS) $(MAPC_DEPS)