5 SRC_DIR = !!SRC_DIR!! |
5 SRC_DIR = !!SRC_DIR!! |
6 LANG_DIR = !!LANG_DIR!! |
6 LANG_DIR = !!LANG_DIR!! |
7 BIN_DIR = !!BIN_DIR!! |
7 BIN_DIR = !!BIN_DIR!! |
8 LANGS_SRC = $(shell ls $(LANG_DIR)/*.txt) |
8 LANGS_SRC = $(shell ls $(LANG_DIR)/*.txt) |
9 LANGS = $(LANGS_SRC:$(LANG_DIR)/%.txt=%.lng) |
9 LANGS = $(LANGS_SRC:$(LANG_DIR)/%.txt=%.lng) |
10 CC_BUILD = !!CC_BUILD!! |
10 CXX_BUILD = !!CXX_BUILD!! |
11 CFLAGS_BUILD = !!CFLAGS_BUILD!! |
11 CFLAGS_BUILD = !!CFLAGS_BUILD!! |
12 STRGEN_FLAGS = !!STRGEN_FLAGS!! |
12 STRGEN_FLAGS = !!STRGEN_FLAGS!! |
13 STAGE = !!STAGE!! |
13 STAGE = !!STAGE!! |
14 LANG_SUPPRESS= !!LANG_SUPPRESS!! |
14 LANG_SUPPRESS= !!LANG_SUPPRESS!! |
15 LANG_OBJS_DIR= !!LANG_OBJS_DIR!! |
15 LANG_OBJS_DIR= !!LANG_OBJS_DIR!! |
34 |
34 |
35 RES := $(shell mkdir -p $(BIN_DIR)/lang ) |
35 RES := $(shell mkdir -p $(BIN_DIR)/lang ) |
36 |
36 |
37 all: table/strings.h $(LANGS) |
37 all: table/strings.h $(LANGS) |
38 |
38 |
39 strgen.o: $(SRC_DIR)/strgen/strgen.c endian_host.h |
39 strgen.o: $(SRC_DIR)/strgen/strgen.cpp endian_host.h |
40 $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.c=%.c)' |
40 $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)' |
41 $(Q)$(CC_BUILD) $(CFLAGS_BUILD) -DSTRGEN -c -o $@ $< |
41 $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) -DSTRGEN -c -o $@ $< |
42 |
42 |
43 string.o: $(SRC_DIR)/string.c endian_host.h |
43 string.o: $(SRC_DIR)/string.cpp endian_host.h |
44 $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.c=%.c)' |
44 $(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)' |
45 $(Q)$(CC_BUILD) $(CFLAGS_BUILD) -DSTRGEN -c -o $@ $< |
45 $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) -DSTRGEN -c -o $@ $< |
46 |
46 |
47 lang/english.txt: $(LANG_DIR)/english.txt |
47 lang/english.txt: $(LANG_DIR)/english.txt |
48 $(Q)mkdir -p lang |
48 $(Q)mkdir -p lang |
49 $(Q)cp -u $(LANG_DIR)/english.txt lang/english.txt |
49 $(Q)cp -u $(LANG_DIR)/english.txt lang/english.txt |
50 |
50 |
51 $(STRGEN): string.o strgen.o |
51 $(STRGEN): string.o strgen.o |
52 $(E) '$(STAGE) Compiling and Linking $@' |
52 $(E) '$(STAGE) Compiling and Linking $@' |
53 $(Q)$(CC_BUILD) string.o strgen.o -o $@ |
53 $(Q)$(CXX_BUILD) string.o strgen.o -o $@ |
54 |
54 |
55 table/strings.h: lang/english.txt $(STRGEN) |
55 table/strings.h: lang/english.txt $(STRGEN) |
56 $(E) '$(STAGE) Generating $@' |
56 $(E) '$(STAGE) Generating $@' |
57 @mkdir -p table |
57 @mkdir -p table |
58 $(Q)./$(STRGEN) -s $(LANG_DIR) -d table |
58 $(Q)./$(STRGEN) -s $(LANG_DIR) -d table |
65 |
65 |
66 endian_host.h: $(ENDIAN_CHECK) |
66 endian_host.h: $(ENDIAN_CHECK) |
67 $(E) '$(STAGE) Testing endianness for host' |
67 $(E) '$(STAGE) Testing endianness for host' |
68 $(Q)./$(ENDIAN_CHECK) > $@ |
68 $(Q)./$(ENDIAN_CHECK) > $@ |
69 |
69 |
70 $(ENDIAN_CHECK): $(SRC_DIR)/endian_check.c |
70 $(ENDIAN_CHECK): $(SRC_DIR)/endian_check.cpp |
71 $(E) '$(STAGE) Compiling and Linking $@' |
71 $(E) '$(STAGE) Compiling and Linking $@' |
72 $(Q)$(CC_BUILD) $(CFLAGS_BUILD) $< -o $@ |
72 $(Q)$(CXX_BUILD) $(CFLAGS_BUILD) $< -o $@ |
73 |
73 |
74 depend: |
74 depend: |
75 |
75 |
76 clean: |
76 clean: |
77 $(E) '$(STAGE) Cleaning up language files' |
77 $(E) '$(STAGE) Cleaning up language files' |