Makefile.lang.in
author rubidium
Sun, 02 Dec 2007 15:12:19 +0000
changeset 8495 51009cfec3de
parent 7414 54c0982e17ab
child 6877 889301acc299
permissions -rw-r--r--
(svn r11557) -Codechange: send and store the passwords a little more secure to/in the servers.
Each server and game yield a (usually) different 'salt'. This salt is used by the clients to hash their passwords. This way the passwords are not sent in clear text and it is not trivial to use those hashes on other servers.
NOTE: It is still NOT safe to use your trusted passwords and it will not stop people from being able to 'hijack' your password, it only makes it harder to do and certainly much less trivial than just dumping passwords from the memory.
# Auto-generated file -- DO NOT EDIT

STRGEN       = !!STRGEN!!
ENDIAN_CHECK = !!ENDIAN_CHECK!!
SRC_DIR      = !!SRC_DIR!!
LANG_DIR     = !!LANG_DIR!!
BIN_DIR      = !!BIN_DIR!!
LANGS_SRC    = $(shell ls $(LANG_DIR)/*.txt)
LANGS        = $(LANGS_SRC:$(LANG_DIR)/%.txt=%.lng)
CXX_BUILD    = !!CXX_BUILD!!
CFLAGS_BUILD = !!CFLAGS_BUILD!!
STRGEN_FLAGS = !!STRGEN_FLAGS!!
STAGE        = !!STAGE!!
LANG_SUPPRESS= !!LANG_SUPPRESS!!
LANG_OBJS_DIR= !!LANG_OBJS_DIR!!

ifeq ($(LANG_SUPPRESS), yes)
LANG_ERRORS = >/dev/null 2>&1
endif

# Make sure endian_host.h is reasable as if it was in the src/ dir
CFLAGS_BUILD += -I $(LANG_OBJS_DIR)

ENDIAN_TARGETS := endian_host.h endian_target.h $(ENDIAN_CHECK)

# Check if we want to show what we are doing
ifdef VERBOSE
	Q =
	E = @true
else
	Q = @
	E = @echo
endif

RES := $(shell mkdir -p $(BIN_DIR)/lang )

all: table/strings.h $(LANGS)

strgen.o: $(SRC_DIR)/strgen/strgen.cpp endian_host.h
	$(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)'
	$(Q)$(CXX_BUILD) $(CFLAGS_BUILD) -DSTRGEN -c -o $@ $<

string.o: $(SRC_DIR)/string.cpp endian_host.h
	$(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)'
	$(Q)$(CXX_BUILD) $(CFLAGS_BUILD) -DSTRGEN -c -o $@ $<

lang/english.txt: $(LANG_DIR)/english.txt
	$(Q)mkdir -p lang
	$(Q)cp $(LANG_DIR)/english.txt lang/english.txt

$(STRGEN): string.o strgen.o
	$(E) '$(STAGE) Compiling and Linking $@'
	$(Q)$(CXX_BUILD) string.o strgen.o -o $@

table/strings.h: lang/english.txt $(STRGEN)
	$(E) '$(STAGE) Generating $@'
	@mkdir -p table
	$(Q)./$(STRGEN) -s $(LANG_DIR) -d table

$(LANGS): %.lng: $(LANG_DIR)/%.txt $(STRGEN) lang/english.txt
	$(E) '$(STAGE) Compiling language $(*F)'
	$(Q)./$(STRGEN) $(STRGEN_FLAGS) -s $(LANG_DIR) -d $(LANG_OBJS_DIR) $< $(LANG_ERRORS) && cp $@ $(BIN_DIR)/lang || true # Do not fail all languages when one fails

# The targets to compile the endian-code

endian_host.h: $(ENDIAN_CHECK)
	$(E) '$(STAGE) Testing endianness for host'
	$(Q)./$(ENDIAN_CHECK) > $@

$(ENDIAN_CHECK): $(SRC_DIR)/endian_check.cpp
	$(E) '$(STAGE) Compiling and Linking $@'
	$(Q)$(CXX_BUILD) $(CFLAGS_BUILD) $< -o $@

depend:

clean:
	$(E) '$(STAGE) Cleaning up language files'
	$(Q)rm -f strgen.o string.o table/strings.h $(STRGEN) $(LANGS) $(LANGS:%=$(BIN_DIR)/lang/%) lang/english.* $(ENDIAN_TARGETS)

mrproper: clean

%.lng:
	@echo '$(STAGE) No such language: $(@:%.lng=%)'

.PHONY: all mrproper depend clean