rubidium@5726: # Auto-generated file -- DO NOT EDIT rubidium@5726: rubidium@5726: STRGEN = !!STRGEN!! rubidium@5726: ENDIAN_CHECK = !!ENDIAN_CHECK!! rubidium@5726: SRC_DIR = !!SRC_DIR!! rubidium@5726: LANG_DIR = !!LANG_DIR!! rubidium@5726: BIN_DIR = !!BIN_DIR!! rubidium@5726: LANGS_SRC = $(shell ls $(LANG_DIR)/*.txt) rubidium@5726: LANGS = $(LANGS_SRC:$(LANG_DIR)/%.txt=%.lng) rubidium@5838: CXX_BUILD = !!CXX_BUILD!! rubidium@5726: CFLAGS_BUILD = !!CFLAGS_BUILD!! rubidium@5726: STRGEN_FLAGS = !!STRGEN_FLAGS!! rubidium@5726: STAGE = !!STAGE!! rubidium@5726: LANG_SUPPRESS= !!LANG_SUPPRESS!! rubidium@5726: LANG_OBJS_DIR= !!LANG_OBJS_DIR!! rubidium@5726: rubidium@5726: ifeq ($(LANG_SUPPRESS), yes) rubidium@5726: LANG_ERRORS = >/dev/null 2>&1 rubidium@5726: endif rubidium@5726: rubidium@5726: # Make sure endian_host.h is reasable as if it was in the src/ dir rubidium@5726: CFLAGS_BUILD += -I $(LANG_OBJS_DIR) rubidium@5726: rubidium@5726: ENDIAN_TARGETS := endian_host.h endian_target.h $(ENDIAN_CHECK) rubidium@5726: rubidium@5726: # Check if we want to show what we are doing rubidium@5726: ifdef VERBOSE rubidium@5726: Q = rubidium@5726: E = @true rubidium@5726: else rubidium@5726: Q = @ rubidium@5726: E = @echo rubidium@5726: endif rubidium@5726: rubidium@5726: RES := $(shell mkdir -p $(BIN_DIR)/lang ) rubidium@5726: rubidium@5726: all: table/strings.h $(LANGS) rubidium@5726: peter1138@8912: strgen.o: $(SRC_DIR)/strgen/strgen.cpp endian_host.h $(SRC_DIR)/table/control_codes.h rubidium@5838: $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)' rubidium@5838: $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) -DSTRGEN -c -o $@ $< rubidium@5726: rubidium@5838: string.o: $(SRC_DIR)/string.cpp endian_host.h rubidium@5838: $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)' rubidium@5838: $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) -DSTRGEN -c -o $@ $< rubidium@5726: glx@9035: alloc_func.o: $(SRC_DIR)/core/alloc_func.cpp endian_host.h glx@9035: $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)' glx@9035: $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) -DSTRGEN -c -o $@ $< glx@9035: rubidium@5726: lang/english.txt: $(LANG_DIR)/english.txt rubidium@5726: $(Q)mkdir -p lang rubidium@5845: $(Q)cp $(LANG_DIR)/english.txt lang/english.txt rubidium@5726: glx@9035: $(STRGEN): alloc_func.o string.o strgen.o rubidium@5726: $(E) '$(STAGE) Compiling and Linking $@' glx@9035: $(Q)$(CXX_BUILD) $^ -o $@ rubidium@5726: rubidium@5726: table/strings.h: lang/english.txt $(STRGEN) rubidium@5726: $(E) '$(STAGE) Generating $@' rubidium@5726: @mkdir -p table rubidium@5726: $(Q)./$(STRGEN) -s $(LANG_DIR) -d table rubidium@5726: rubidium@5726: $(LANGS): %.lng: $(LANG_DIR)/%.txt $(STRGEN) lang/english.txt rubidium@5726: $(E) '$(STAGE) Compiling language $(*F)' rubidium@5750: $(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 rubidium@5726: rubidium@5726: # The targets to compile the endian-code rubidium@5726: rubidium@5726: endian_host.h: $(ENDIAN_CHECK) rubidium@5726: $(E) '$(STAGE) Testing endianness for host' rubidium@5726: $(Q)./$(ENDIAN_CHECK) > $@ rubidium@5726: rubidium@5838: $(ENDIAN_CHECK): $(SRC_DIR)/endian_check.cpp rubidium@5726: $(E) '$(STAGE) Compiling and Linking $@' rubidium@5838: $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) $< -o $@ rubidium@5726: rubidium@5726: depend: rubidium@5726: rubidium@5726: clean: rubidium@5726: $(E) '$(STAGE) Cleaning up language files' rubidium@7414: $(Q)rm -f strgen.o string.o table/strings.h $(STRGEN) $(LANGS) $(LANGS:%=$(BIN_DIR)/lang/%) lang/english.* $(ENDIAN_TARGETS) rubidium@5726: rubidium@5726: mrproper: clean rubidium@5726: rubidium@5726: %.lng: rubidium@5726: @echo '$(STAGE) No such language: $(@:%.lng=%)' rubidium@5726: rubidium@5726: .PHONY: all mrproper depend clean