makefile: UFO files move to build/ufo

This commit is contained in:
Rasmus Andersson 2019-10-22 20:15:09 -07:00
parent e6b25408d9
commit 55d38ccee8
3 changed files with 32948 additions and 70 deletions

83
init.sh
View file

@ -374,6 +374,24 @@ else
mkdir -p "$BUILD_DIR/etc"
GEN_MAKE_FILE=$BUILD_DIR/etc/generated.make
# Warning about UFOs moving from src to build/ufo
for f in src/Inter-*.ufo; do
echo "" >&2
echo "--------------------------- WARNING ----------------------------" >&2
echo "" >&2
echo " UFO files have moved from ./src to ./build/ufo" >&2
echo "" >&2
echo "If you are working with a UFO workflow, please manually move" >&2
echo "your UFO source files from ./src to ./build/ufo." >&2
echo "" >&2
echo "If you are working in a Glyphps workflow, then simply remove" >&2
echo "the UFO files in ./src to silence this warning." >&2
echo "" >&2
echo "----------------------------------------------------------------" >&2
echo "" >&2
break
done
# Only generate if there are changes to the font sources or init.sh
NEED_GENERATE=false
if $clean || [[ ! -f "$GEN_MAKE_FILE" ]] || [[ "$0" -nt "$GEN_MAKE_FILE" ]]; then
@ -383,7 +401,9 @@ else
if $NEED_GENERATE; then
break
fi
if has_newer "src/Inter-${style}.ufo" "$GEN_MAKE_FILE"; then
if [[ ! -d "build/ufo/Inter-${style}.ufo" ]] || \
has_newer "build/ufo/Inter-${style}.ufo" "$GEN_MAKE_FILE"
then
NEED_GENERATE=true
fi
done
@ -392,46 +412,59 @@ else
if $NEED_GENERATE; then
echo "Generating '$GEN_MAKE_FILE'"
echo "# Generated by init.sh -- do not modify manually" > "$GEN_MAKE_FILE"
echo "" >> "$GEN_MAKE_FILE"
all_styles=()
instance_styles=()
# add master styles to style array
for style in "${master_styles[@]}"; do
all_styles+=( $style )
echo -n "${style}_ufo_d := \$(wildcard" >> "$GEN_MAKE_FILE"
echo -n " src/Inter-${style}.ufo/*.plist" >> "$GEN_MAKE_FILE"
echo -n " src/Inter-${style}.ufo/*.fea" >> "$GEN_MAKE_FILE"
echo -n " src/Inter-${style}.ufo/glyphs/*.plist" >> "$GEN_MAKE_FILE"
echo -n " src/features/*" >> "$GEN_MAKE_FILE"
# echo -n " src/Inter-${style}.ufo/glyphs/*.glif" >> "$GEN_MAKE_FILE"
echo -n ")" >> "$GEN_MAKE_FILE"
echo " src/Inter.designspace" >> "$GEN_MAKE_FILE"
done
# master UFO targets
echo "# master UFOs" >> "$GEN_MAKE_FILE"
echo "# Note: build/ufo/Inter.designspace depends on src/Inter.glyphs" >> "$GEN_MAKE_FILE"
for style in "${master_styles[@]}"; do
echo -n "build/ufo/Inter-${style}.ufo:" >> "$GEN_MAKE_FILE"
# echo -n " build/ufo/Inter-${style}.ufo" >> "$GEN_MAKE_FILE"
echo -n " build/ufo/Inter.designspace" >> "$GEN_MAKE_FILE"
echo -n " build/ufo/features" >> "$GEN_MAKE_FILE"
echo -n " \$(wildcard" >> "$GEN_MAKE_FILE"
echo -n " build/ufo/Inter-${style}.ufo/*.plist" >> "$GEN_MAKE_FILE"
echo -n " build/ufo/Inter-${style}.ufo/*.fea" >> "$GEN_MAKE_FILE"
echo -n " build/ufo/Inter-${style}.ufo/glyphs/*.plist" >> "$GEN_MAKE_FILE"
# echo -n " build/ufo/Inter-${style}.ufo/glyphs/*.glif" >> "$GEN_MAKE_FILE"
# echo -n " src/features/*" >> "$GEN_MAKE_FILE"
echo ")" >> "$GEN_MAKE_FILE"
echo -e "\ttouch \"\$@\"" >> "$GEN_MAKE_FILE"
done
echo -n "all_ufo_masters :=" >> "$GEN_MAKE_FILE"
for style in "${master_styles[@]}"; do
echo -n " build/ufo/Inter-${style}.ufo" >> "$GEN_MAKE_FILE"
done
echo "" >> "$GEN_MAKE_FILE"
echo "" >> "$GEN_MAKE_FILE"
# master OTF and TTF rules
for style in "${master_styles[@]}"; do
echo "${DIST_DIR_TOK}const/Inter-${style}.otf: \$(${style}_ufo_d) version.txt" >> "$GEN_MAKE_FILE"
echo -e "\tmisc/fontbuild compile -o \$@ \$(FONTBUILD_FLAGS) src/Inter-${style}.ufo" >> "$GEN_MAKE_FILE"
echo "${DIST_DIR_TOK}const/Inter-${style}.ttf: \$(${style}_ufo_d) version.txt" >> "$GEN_MAKE_FILE"
echo -e "\tmisc/fontbuild compile -o \$@ \$(FONTBUILD_FLAGS) src/Inter-${style}.ufo" >> "$GEN_MAKE_FILE"
echo "" >> "$GEN_MAKE_FILE"
done
# generate all_ufo: <master_ufos>
# echo -n "all_ufo:" >> "$GEN_MAKE_FILE"
# for style in "${master_styles[@]}"; do
# echo -n " \$(${style}_ufo_d)" >> "$GEN_MAKE_FILE"
# done
# echo "" >> "$GEN_MAKE_FILE"
# add derived styles to style array
# add derived styles to `style` array
echo "# instance UFOs" >> "$GEN_MAKE_FILE"
for e in "${derived_styles[@]}"; do
style=$(echo "${e%%:*}" | xargs)
dependent_styles=$(echo "${e#*:}" | xargs)
all_styles+=( $style )
instance_styles+=( $style )
echo -n "build/ufo/Inter-${style}.ufo:" >> "$GEN_MAKE_FILE"
for depstyle in $dependent_styles; do
echo -n " build/ufo/Inter-${depstyle}.ufo" >> "$GEN_MAKE_FILE"
done
echo "" >> "$GEN_MAKE_FILE"
echo -e "\tmisc/fontbuild instancegen build/ufo/Inter.designspace ${style}" >> "$GEN_MAKE_FILE"
done
echo "" >> "$GEN_MAKE_FILE"
# STYLE and STYLE_ttf targets
for style in "${all_styles[@]}"; do