# AI Moji Font Generator Makefile .PHONY: help setup build clean font css package install test # デフォルトターゲット help: @echo "AI Moji Font Generator" @echo "======================" @echo "" @echo "使用可能なコマンド:" @echo " make setup - 初期セットアップを実行" @echo " make build - 全体ビルドを実行" @echo " make clean - 出力ディレクトリをクリア" @echo " make font - フォントファイルのみ生成" @echo " make css - CSS/SCSSファイルのみ生成" @echo " make package - パッケージングのみ実行" @echo " make install - 生成されたパッケージをローカルにインストール" @echo " make test - テストビルドを実行" @echo " make publish - npmに公開" @echo "" # 初期セットアップ setup: @echo "🚀 セットアップ開始..." chmod +x setup.sh ./setup.sh # 全体ビルド build: @echo "🔨 フルビルド開始..." python3 build.py # クリーンアップ clean: @echo "🗑️ クリーンアップ..." python3 build.py --clean # フォントのみ生成 font: @echo "🔤 フォント生成..." python3 build.py --font-only # CSSのみ生成 css: @echo "🎨 CSS生成..." python3 build.py --css-only # パッケージングのみ package: @echo "📦 パッケージング..." python3 build.py --package-only # ローカルインストール install: build @echo "📦 ローカルインストール..." cd ../../dist && npm pack @echo "✅ パッケージファイルが生成されました" @echo " npm install ../../dist/aimoji-*.tgz でインストールできます" # テストビルド test: @echo "🧪 テストビルド..." $(MAKE) clean python3 build.py --font-only @echo "✅ テスト完了" # npm公開 publish: build @echo "🚀 npm公開準備..." cd ../../dist && npm publish --dry-run @echo "" @echo "本当に公開する場合:" @echo " cd ../../dist && npm publish" # 開発用 - ファイル監視 watch: @echo "👀 ファイル監視モード(要 entr インストール)" find ../../svg -name "*.svg" | entr -r make build # 統計情報表示 stats: @echo "📊 プロジェクト統計" @echo "==================" @echo "SVGファイル数:" @find ../../svg -name "*.svg" | wc -l @echo "" @echo "生成されたフォントファイル:" @find ../../dist/fonts -name "*" 2>/dev/null | wc -l || echo "0" @echo "" @echo "出力ディレクトリサイズ:" @du -sh ../../dist 2>/dev/null || echo "なし" # 依存関係チェック check-deps: @echo "🔍 依存関係チェック..." @python3 -c "import fontforge; print('✅ FontForge OK')" || echo "❌ FontForge が見つかりません" @python3 -c "import fontTools; print('✅ FontTools OK')" || echo "❌ FontTools が見つかりません" @command -v python3 >/dev/null 2>&1 && echo "✅ Python3 OK" || echo "❌ Python3 が見つかりません"