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)
23 MAPC_EXEC = ./$(MAPC_TARG)
30 POTFILE= po/neverball.pot
32 #-------------------------------------------------------------------------------
107 BALL_DEPS= $(BALL_OBJS:.o=.d)
108 PUTT_DEPS= $(PUTT_OBJS:.o=.d)
109 MAPC_DEPS= $(MAPC_OBJS:.o=.d)
111 BASE_LIBS= $(SDL_LIBS) -lSDL_image
112 LIBS= $(X11_PATH) $(BASE_LIBS) -lpng -lSDL_ttf -lSDL_mixer $(OGL_LIBS)
114 MESSAGEPART= /LC_MESSAGES/$(LOCALEDOM).mo
115 MESSAGES= $(LINGUAS:%=$(LOCALEDIR)/%$(MESSAGEPART))
117 MAPS= $(shell find data/ -name '*.map')
118 SOLS= $(MAPS:%.map=%.sol)
120 POS= $(shell echo po/*.po)
121 LINGUAS= $(POS:po/%.po=%)
123 #------------------------------------------------------------------------------
125 #------------------------------------------------------------------------------
128 $(CC) $(CFLAGS) -Ishare -MM -MF $@ -MT '$*.o $@' $<
131 $(CC) $(CFLAGS) -Ishare -o $@ -c $<
133 %.sol : %.map $(MAPC_TARG)
136 $(LOCALEDIR)/%$(MESSAGEPART) : po/%.po
137 mkdir -p `dirname $@`
138 msgfmt -c -v -o $@ $<
140 #------------------------------------------------------------------------------
142 #------------------------------------------------------------------------------
144 all : $(BALL_TARG) $(PUTT_TARG) $(MAPC_TARG) sols locales
146 $(BALL_TARG) : $(BALL_OBJS)
147 $(CC) $(CFLAGS) -o $(BALL_TARG) $(BALL_OBJS) $(LIBS)
149 $(PUTT_TARG) : $(PUTT_OBJS)
150 $(CC) $(CFLAGS) -o $(PUTT_TARG) $(PUTT_OBJS) $(LIBS)
152 $(MAPC_TARG) : $(MAPC_OBJS)
153 $(CC) $(CFLAGS) -o $(MAPC_TARG) $(MAPC_OBJS) $(BASE_LIBS)
157 locales : $(MESSAGES)
160 rm -f $(BALL_TARG) $(BALL_OBJS) $(BALL_DEPS)
161 rm -f $(PUTT_TARG) $(PUTT_OBJS) $(PUTT_DEPS)
162 rm -f $(MAPC_TARG) $(MAPC_OBJS) $(MAPC_DEPS)
171 #------------------------------------------------------------------------------
173 #------------------------------------------------------------------------------
180 bash extractpo.sh $(POTFILE) $(LOCALEDOM)
182 po-update-merge : $(POS)
184 po-update : po-update-extract po-update-merge
186 #------------------------------------------------------------------------------
188 .PHONY : all sols locales clean-src clean test \
189 po-update-extract po-update-merge po-update
191 -include $(BALL_DEPS) $(PUTT_DEPS) $(MAPC_DEPS)