# Copyright 2014 Google Inc. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. EMOJI = NotoColorEmoji font: $(EMOJI).ttf CFLAGS = -std=c99 -Wall -Wextra `pkg-config --cflags --libs cairo` LDFLAGS = `pkg-config --libs cairo` PNGQUANTDIR := third_party/pngquant PNGQUANT := $(PNGQUANTDIR)/pngquant PNGQUANTFLAGS = --speed 1 --skip-if-larger --ext '.png' --force $(PNGQUANT): $(MAKE) -C $(PNGQUANTDIR) waveflag: waveflag.c $(CC) $< -o $@ $(CFLAGS) $(LDFLAGS) LIMITED_FLAGS = CN DE ES FR GB IT JP KR RU US FLAGS = AD AE AF AG AI AL AM AO AR AS AT AU AW AX AZ \ BA BB BD BE BF BG BH BI BJ BM BN BO BR BS BT BW BY BZ \ CA CC CD CF CG CH CI CK CL CM CN CO CR CU CV CW CX CY CZ \ DE DJ DK DM DO DZ \ EC EE EG ER ES ET EU \ FI FJ FM FO FR \ GA GB GD GE GG GH GI GL GM GN GQ GR GT GU GW GY \ HK HN HR HT HU \ ID IE IL IM IN IO IQ IR IS IT \ JE JM JO JP \ KE KG KH KI KM KN KP KR KW KY KZ \ LA LB LC LI LK LR LS LT LU LV LY \ MA MC MD ME MG MH MK ML MM MN MO MP MR MS MT MU MV MW MX MY MZ \ NA NE NF NG NI NL NO NP NR NU NZ \ OM \ PA PE PF PG PH PK PL PN PR PS PT PW PY \ QA \ RO RS RU RW \ SA SB SC SD SE SG SI SK SL SM SN SO SR SS ST SV SX SY SZ \ TC TD TG TH TJ TK TL TM TN TO TR TT TV TW TZ \ UA UG US UY UZ \ VA VC VE VG VI VN VU \ WS \ YE \ ZA ZM ZW FLAGS_SRC_DIR = third_party/region-flags/png FLAGS_DIR = ./flags GLYPH_NAMES := $(shell ./flag_glyph_name.py $(FLAGS)) WAVED_FLAGS := $(foreach flag,$(FLAGS),$(FLAGS_DIR)/$(flag).png) PNG128_FLAGS := $(foreach glyph_name,$(GLYPH_NAMES),$(addprefix ./png/128/emoji_$(glyph_name),.png)) $(FLAGS_DIR)/%.png: $(FLAGS_SRC_DIR)/%.png ./waveflag $(PNGQUANT) mkdir -p $(FLAGS_DIR) ./waveflag "$<" "$@" optipng -quiet -o7 "$@" $(PNGQUANT) $(PNGQUANTFLAGS) "$@" flag-symlinks: $(WAVED_FLAGS) $(subst ^, , \ $(join \ $(FLAGS:%=ln^-fs^../../flags/%.png^), \ $(GLYPH_NAMES:%=./png/128/emoji_%.png;) \ ) \ ) $(PNG128_FLAGS): flag-symlinks #EMOJI_PNG128 = ./png/128/emoji_u EMOJI_PNG128 = /tmp/placeholder_emoji_plus/emoji_u EMOJI_BUILDER = third_party/color_emoji/emoji_builder.py ADD_GLYPHS = third_party/color_emoji/add_glyphs.py PUA_ADDER = map_pua_emoji.py VS_ADDER = add_vs_cmap.py ifeq (, $(shell which $(VS_ADDER))) $(error "$(VS_ADDER) not in path, run setup.py in nototools") endif %.ttx: %.ttx.tmpl $(ADD_GLYPHS) $(UNI) $(PNG128_FLAGS) python $(ADD_GLYPHS) "$<" "$@" "$(EMOJI_PNG128)" %.ttf: %.ttx @rm -f "$@" ttx "$<" $(EMOJI).ttf: $(EMOJI).tmpl.ttf $(EMOJI_BUILDER) $(PUA_ADDER) \ $(EMOJI_PNG128)*.png $(PNG128_FLAGS) python $(EMOJI_BUILDER) -V $< "$@" $(EMOJI_PNG128) python $(PUA_ADDER) "$@" "$@-with-pua" $(VS_ADDER) --dstdir '.' -o "$@-with-pua-varsel" "$@-with-pua" mv "$@-with-pua-varsel" "$@" rm "$@-with-pua" clean: rm -f $(EMOJI).ttf $(EMOJI).tmpl.ttf $(EMOJI).tmpl.ttx rm -f waveflag rm -rf $(FLAGS_DIR) rm -f `find -type l -name "*.png"`