TARGET = lcdtest5
OBJS = ucs2euc.o ja_zh_cn.o conv.o main.o
CFLAGS = -O2 -Wall

all: $(TARGET)

create_ucs2euc: create_ucs2euc.c
	$(CC) $(CFLAGS) $< -o $@
# 
# https://android.googlesource.com/platform/external/python/cpython3/+/refs/heads/main/Tools/unicode/python-mappings/GB2312.TXT
# https://www.unicode.org/Public/2.1-Update/Unihan-2.txt
# https://raw.githubusercontent.com/takp/kanji_chinese_converter/master/lib/kanji_chinese_converter/ja_zh_cn.rb
#
ucs2euc.c: GB2312.TXT Unihan-2.txt create_ucs2euc 
	./create_ucs2euc GB2312.TXT $@ Unihan-2.txt

ucs2euc.o: ucs2euc.c
	$(CC) -c $(CFLAGS) $< -o $@

ja_zh_cn.c: ja_zh_cn.rb
	echo "// SPDX-License-Identifier: MIT" > $@
	echo "#include <wchar.h>" >> $@

	echo -n "wchar_t zh[] = L\"" >> $@
	grep '=' $< | grep ',' | awk '{printf("%s", substr($$3, 2, length($$3) - 3))}' >> $@
	echo "\";" >> $@

	echo -n "wchar_t ja[] = L\"" >> $@
	grep '=' $< | grep ',' | awk '{printf("%s", substr($$1, 2, length($$1) - 2))}' >> $@
	echo "\";" >> $@

ja_zh_cn.o: ja_zh_cn.c
	$(CC) -c $(CFLAGS) $< -o $@

conv.o: conv.c
	$(CC) -c $(CFLAGS) $< -o $@

main.o: main.c
	$(CC) -c $(CFLAGS) $< -o $@

$(TARGET): $(OBJS)
	$(CC) $(OBJS) -o $@

clean:
	$(RM) -rf $(TARGET) $(OBJS) ucs2euc.c create_ucs2euc ja_zh_cn.c
