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 SDL_LIBS= $(shell sdl-config --libs)
21 PNG_LIBS= $(shell libpng-config --libs)
27 MAPC_EXEC= ./$(MAPC_TARG)
32 POTFILE= po/neverball.pot
34 #-------------------------------------------------------------------------------
109 BALL_DEPS= $(BALL_OBJS:.o=.d)
110 PUTT_DEPS= $(PUTT_OBJS:.o=.d)
111 MAPC_DEPS= $(MAPC_OBJS:.o=.d)
113 BASE_LIBS= $(SDL_LIBS) -lSDL_image
114 LIBS= $(X11_PATH) $(BASE_LIBS) $(PNG_LIBS) -lSDL_ttf -lSDL_mixer $(OGL_LIBS)
116 MESSAGEPART= /LC_MESSAGES/$(LOCALEDOM).mo
117 MESSAGES= $(LINGUAS:%=$(LOCALEDIR)/%$(MESSAGEPART))
119 MAPS= $(shell find data/ -name '*.map')
120 SOLS= $(MAPS:%.map=%.sol)
122 POS= $(shell echo po/*.po)
123 LINGUAS= $(POS:po/%.po=%)
125 #------------------------------------------------------------------------------
127 #------------------------------------------------------------------------------
130 $(CC) $(CFLAGS) -Ishare -MM -MF $@ -MT '$*.o $@' $<
133 $(CC) $(CFLAGS) -Ishare -o $@ -c $<
135 %.sol : %.map $(MAPC_TARG)
138 $(LOCALEDIR)/%$(MESSAGEPART) : po/%.po
139 mkdir -p `dirname $@`
140 msgfmt -c -v -o $@ $<
142 #------------------------------------------------------------------------------
144 #------------------------------------------------------------------------------
146 all : $(BALL_TARG) $(PUTT_TARG) $(MAPC_TARG) sols locales
148 $(BALL_TARG) : $(BALL_OBJS)
149 $(CC) $(CFLAGS) -o $(BALL_TARG) $(BALL_OBJS) $(LIBS)
151 $(PUTT_TARG) : $(PUTT_OBJS)
152 $(CC) $(CFLAGS) -o $(PUTT_TARG) $(PUTT_OBJS) $(LIBS)
154 $(MAPC_TARG) : $(MAPC_OBJS)
155 $(CC) $(CFLAGS) -o $(MAPC_TARG) $(MAPC_OBJS) $(BASE_LIBS)
159 locales : $(MESSAGES)
162 rm -f $(BALL_TARG) $(BALL_OBJS) $(BALL_DEPS)
163 rm -f $(PUTT_TARG) $(PUTT_OBJS) $(PUTT_DEPS)
164 rm -f $(MAPC_TARG) $(MAPC_OBJS) $(MAPC_DEPS)
176 #------------------------------------------------------------------------------
178 #------------------------------------------------------------------------------
185 sh extractpo.sh $(POTFILE) $(LOCALEDOM)
187 po-update-merge : $(POS)
189 po-update : po-update-extract po-update-merge
191 #------------------------------------------------------------------------------
193 .PHONY : all sols locales clean-src clean test \
194 po-update-extract po-update-merge po-update \
197 -include $(BALL_DEPS) $(PUTT_DEPS) $(MAPC_DEPS)