247 $(Q)$(WINDRES) -o $@ -I $(MEDIA_DIR) $< |
247 $(Q)$(WINDRES) -o $@ -I $(MEDIA_DIR) $< |
248 |
248 |
249 $(BIN_DIR)/$(TTD): $(TTD) |
249 $(BIN_DIR)/$(TTD): $(TTD) |
250 $(Q)cp $< $@ |
250 $(Q)cp $< $@ |
251 |
251 |
252 $(TTD): rev.o $(OBJS) $(CONFIG_CACHE_LINKER) |
252 $(TTD): $(OBJS) $(CONFIG_CACHE_LINKER) |
253 $(E) '$(STAGE) Linking $@' |
253 $(E) '$(STAGE) Linking $@' |
254 ifeq ($(OS), PSP) |
254 ifeq ($(OS), PSP) |
255 # Because of a bug in the PSP GCC tools, linking via CXX results |
255 # Because of a bug in the PSP GCC tools, linking via CXX results |
256 # in total chaos and more problems then you can handle. So we need |
256 # in total chaos and more problems then you can handle. So we need |
257 # CC to link OpenTTD for PSP |
257 # CC to link OpenTTD for PSP |
258 $(Q)$(CC_HOST) $(LDFLAGS) rev.o $(OBJS) $(LIBS) -o $@ |
258 $(Q)$(CC_HOST) $(LDFLAGS) $(OBJS) $(LIBS) -o $@ |
259 else |
259 else |
260 $(Q)$(CXX_HOST) $(LDFLAGS) rev.o $(OBJS) $(LIBS) -o $@ |
260 $(Q)$(CXX_HOST) $(LDFLAGS) $(OBJS) $(LIBS) -o $@ |
261 endif |
261 endif |
262 ifdef STRIP |
262 ifdef STRIP |
263 $(Q)$(STRIP) $@ |
263 $(Q)$(STRIP) $@ |
264 endif |
264 endif |
265 |
265 |
273 $(E) '$(STAGE) Compiling and Linking $@' |
273 $(E) '$(STAGE) Compiling and Linking $@' |
274 $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) $< -o $@ |
274 $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) $< -o $@ |
275 |
275 |
276 # Revision files |
276 # Revision files |
277 |
277 |
278 rev.cpp: $(CONFIG_CACHE_VERSION) |
278 $(SRC_DIR)/rev.cpp: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/rev.cpp.in |
279 # setting the revision number in a place, there the binary can read it |
279 $(Q)cat $(SRC_DIR)/rev.cpp.in | sed "s#@@VERSION@@#$(REV)#g;s#@@DATE@@#`date +%d.%m.%y`#g" > $(SRC_DIR)/rev.cpp |
280 @echo 'extern const char _openttd_revision[] = "$(REV)";' > rev.cpp |
280 |
281 # Some additions for MorphOS versions tag |
281 $(SRC_DIR)/ottdres.rc: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/ottdres.rc.in |
282 ifeq ($(OS),MORPHOS) |
282 $(Q)cat $(SRC_DIR)/ottdres.rc.in | sed "s#@@VERSION@@#$(REV)#g;s#@@DATE@@#`date +%d.%m.%y`#g" > $(SRC_DIR)/ottdres.rc |
283 @echo '#ifdef __MORPHOS__' >> rev.cpp |
|
284 @echo 'extern const char morphos_versions_tag[] = "\\0$$VER: OpenTTD $(REV) ('`date +%d.%m.%y`') (C) OpenTTD Team [MorphOS, PowerPC]";' >> rev.cpp |
|
285 @echo '#endif' >> rev.cpp |
|
286 endif |
|
287 |
|
288 rev.o: rev.cpp $(FILE_DEP) |
|
289 $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)' |
|
290 $(Q)$(CXX_HOST) $(CFLAGS) -c -o $@ $< |
|
291 |
283 |
292 FORCE: |
284 FORCE: |
293 |
285 |
294 depend: $(DEPS) |
286 depend: $(DEPS) |
295 |
287 |
296 clean: |
288 clean: |
297 $(E) '$(STAGE) Cleaning up object files' |
289 $(E) '$(STAGE) Cleaning up object files' |
298 $(Q)rm -f $(DEPS) $(OBJS) $(TTD) $(TTD:%=$(BIN_DIR)/%) $(CONFIG_CACHE_COMPILER) $(CONFIG_CACHE_LINKER) $(CONFIG_CACHE_ENDIAN) $(CONFIG_CACHE_SOURCE) $(ENDIAN_TARGETS) rev.o rev.cpp |
290 $(Q)rm -f $(DEPS) $(OBJS) $(TTD) $(TTD:%=$(BIN_DIR)/%) $(CONFIG_CACHE_COMPILER) $(CONFIG_CACHE_LINKER) $(CONFIG_CACHE_ENDIAN) $(CONFIG_CACHE_SOURCE) $(ENDIAN_TARGETS) |
299 |
291 |
300 mrproper: clean |
292 mrproper: clean |
301 $(Q)rm -f rev.cpp |
293 $(Q)rm -f $(SRC_DIR)/rev.cpp $(SRC_DIR)/ottdres.rc |
302 |
294 |
303 %.o: |
295 %.o: |
304 @echo '$(STAGE) No such source-file: $(@:%.o=%).[c|cpp|mm|rc]' |
296 @echo '$(STAGE) No such source-file: $(@:%.o=%).[c|cpp|mm|rc]' |
305 |
297 |
306 .PHONY: all mrproper depend clean FORCE |
298 .PHONY: all mrproper depend clean FORCE |