blob: 751af9283810a492dce605695122af3d1f1a06a0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
APP_NAME := Base\ Windowed\ Application
SOURCES := $(shell find src -name '*.m')
OBJECTS := $(SOURCES:%.m=%.o)
LPROJS := $(shell ls Internationalization)
PRODUCT := build/Application
.PHONY: all
all: $(PRODUCT)
%.o: %.m
$(CC) \
-x objective-c \
-c \
$< \
-o $@
$(PRODUCT): $(OBJECTS) | build
$(CC) \
-framework Cocoa \
-o $@ \
$^
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
Base.lproj/Localizable.strings: $(SOURCES)
genstrings -o Base.lproj $^
mv $@ "$@.utf16"
iconv --from-code=UTF-16 --to-code=UTF-8 "$@.utf16" > $@
rm "$@.utf16"
.PHONY: clean
clean:
rm $(OBJECTS)
|