diff options
-rw-r--r-- | Info.plist | 28 | ||||
-rw-r--r-- | Makefile | 53 |
2 files changed, 81 insertions, 0 deletions
diff --git a/Info.plist b/Info.plist new file mode 100644 index 0000000..ae7efd1 --- /dev/null +++ b/Info.plist @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>en</string> + <key>CFBundleDisplayName</key> + <string>Base Windowed Application</string> + <key>CFBundleExecutable</key> + <string>Application</string> + <key>CFBundleIdentifier</key> + <string>com.teddywing.Base-Windowed-Application</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>Base Windowed Application</string> + <key>CFBundlePackageType</key> + <string>APPL</string> + <key>CFBundleShortVersionString</key> + <string>1.0</string> + <key>CFBundleVersion</key> + <string>1.0</string> + <key>LSMinimumSystemVersion</key> + <string>10.12</string> + <key>NSHumanReadableCopyright</key> + <string>Copyright © 2023 Teddy Wing</string> +</dict> +</plist> @@ -1,6 +1,11 @@ +APP_NAME := Base\ Windowed\ Application + + SOURCES := $(shell find src -name '*.m') OBJECTS := $(SOURCES:%.m=%.o) +LPROJS := $(shell ls Internationalization) + PRODUCT := build/Application @@ -23,6 +28,54 @@ $(PRODUCT): $(OBJECTS) | build build: mkdir -p build +build/$(APP_NAME).app: | build + mkdir -p build/$(APP_NAME).app + +build/$(APP_NAME).app/Contents: | build/$(APP_NAME).app + mkdir -p build/$(APP_NAME).app/Contents + +build/$(APP_NAME).app/Contents/MacOS: | build/$(APP_NAME).app/Contents + mkdir -p build/$(APP_NAME).app/Contents/MacOS + +build/$(APP_NAME).app/Contents/MacOS/$(APP_NAME): $(OBJECTS) \ +| build/$(APP_NAME).app/Contents/MacOS + $(CC) \ + -framework Cocoa \ + -o "${@}" \ + $^ + +# build/$(APP_NAME).app/Contents/Info.plist: Info.m4.plist \ +# | build/$(APP_NAME).app/Contents +# m4 \ +# --define='CF_BUNDLE_VERSION=$(CF_BUNDLE_VERSION)' \ +# $< \ +# > $@ +build/$(APP_NAME).app/Contents/Info.plist: Info.plist \ +| build/$(APP_NAME).app/Contents + cp $< "${@}" + +build/$(APP_NAME).app/Contents/Resources: | build/$(APP_NAME).app/Contents + mkdir -p build/$(APP_NAME).app/Contents/Resources + +# build/$(APP_NAME).app/Contents/Resources/%.lproj/Localizable.strings: \ +# Internationalization/%.lproj/Localizable.strings \ +# | build/$(APP_NAME).app/Contents/Resources +# mkdir -p $(dir "${@}") +# cp $< "${@}" + +build/$(APP_NAME).app/Contents/Resources/%.lproj: \ +Internationalization/%.lproj \ +| build/$(APP_NAME).app/Contents/Resources + cp $< "${@}" + +.PHONY: app +app: \ +build/$(APP_NAME).app/Contents/MacOS/$(APP_NAME) \ +build/$(APP_NAME).app/Contents/Info.plist \ +$(patsubst Internationalization/%,build/$(APP_NAME).app/Contents/Resources/%,$(LPROJS)) + +# $(subst Internationalization/,build/$(APP_NAME).app/Contents/Resources/,$(LOCALIZABLE_STRINGS)) + .PHONY: genstrings genstrings: Base.lproj/Localizable.strings |