summaryrefslogtreecommitdiffstats
path: root/macosx/module.defs
blob: 9d654ede9c7b8bd99af7386739424b3a83421d93 (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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
$(eval $(call import.MODULE.defs,MACOSX,macosx))
$(eval $(call import.GCC,MACOSX))

MACOSX.src/   = $(SRC/)macosx/
MACOSX.build/ = $(BUILD/)macosx/
MACOSX.xroot/ = $(BUILD/)xroot/
MACOSX.xarchive/ = $(BUILD/)xroot/HandBrake/

MACOSX.m4.in  = $(wildcard $(MACOSX.src/)*.m4)
MACOSX.m4.out = $(MACOSX.m4.in:$(MACOSX.src/)%.m4=$(MACOSX.build/)%)

MACOSX.osl.filelist = $(MACOSX.build/)osl.filelist.txt

###############################################################################

BUILD.out += $(MACOSX.m4.out)
BUILD.out += $(MACOSX.osl.filelist)

###############################################################################

MACOSX.project = -project $(MACOSX.src/)HandBrake.xcodeproj

## configuration: must be one of { release, debug }
ifeq (1,$(SECURITY.sandbox))
   MACOSX.configuration = -configuration $(MACOSX.map.g.$(MACOSX.GCC.g))-sandbox
else
   MACOSX.configuration = -configuration $(MACOSX.map.g.$(MACOSX.GCC.g))
endif

## mapping from symbolic debug value to xcode configuration
MACOSX.map.g.none = release
MACOSX.map.g.min  = debug
MACOSX.map.g.std  = debug
MACOSX.map.g.max  = debug

## mapping from symbolic optimization value to actual level
MACOSX.map.O.none            = 0
MACOSX.map.O.size            = s
MACOSX.map.O.size-aggressive = z
MACOSX.map.O.speed           = 3

## xcconfig: must be one of macosx/xcconfig/*.xcconfig
MACOSX.xcconfig = $(foreach x,$(XCODE.xcconfig),-xcconfig $(MACOSX.src/)xcconfig/$(x))
MACOSX.sdk      = $(foreach sdk,$(GCC.sysroot),-sdk $(sdk))

## extra CFLAGS: macro definitions
MACOSX.extra_cflags = OTHER_CFLAGS='$(MACOSX.GCC.D)'

## launch a build through xcode; which in turn will do a nested make against
## this build system with normal build rules enabled.
##
## $(1) = list of targets
## $(2) = list of goals to shunt through xcodebuild->make
##

MACOSX.XCODE = $(strip \
    $(XCODEBUILD.exe) \
        $(MACOSX.project) \
        $(foreach t,$(1),-target $t) \
        $(MACOSX.configuration) \
        $(MACOSX.xcconfig) \
        \
        SYMROOT='$(XCODE.symroot)' \
        CONFIGURATION_BUILD_DIR='$(XCODE.symroot)' \
        CONFIGURATION_TEMP_DIR='$(XCODE.symroot)' \
        \
        EXTERNAL_BUILD='$(abspath $(BUILD))' \
        EXTERNAL_CONF_ARGS='$(CONF.args)' \
        EXTERNAL_DRIVER='$(XCODE.driver)' \
        EXTERNAL_GOALS='$(3)' \
        EXTERNAL_JOBS='$(MACOSX.JOBS)' \
        EXTERNAL_O='$(MACOSX.map.O.$(MACOSX.GCC.O))' \
        EXTERNAL_VARS='$(-*-command-variables-*-)' \
        \
        $(MACOSX.extra_cflags) \
        \
        $(2) )

MACOSX.XCODE_ARCHIVE = $(strip \
    $(XCODEBUILD.exe) \
        $(MACOSX.project) \
        $(foreach t,$(1),-scheme $t) \
        $(MACOSX.configuration) \
        $(MACOSX.xcconfig) \
        \
        SYMROOT='$(XCODE.symroot)' \
        CONFIGURATION_BUILD_DIR='$(XCODE.symroot)' \
        CONFIGURATION_TEMP_DIR='$(XCODE.symroot)' \
        \
        -derivedDataPath '$(MACOSX.xarchive/)' \
        -archivePath '$(MACOSX.xarchive/)' \
        \
        EXTERNAL_BUILD='$(abspath $(BUILD))' \
        EXTERNAL_CONF_ARGS='$(CONF.args)' \
        EXTERNAL_DRIVER='$(XCODE.driver)' \
        EXTERNAL_GOALS='$(3)' \
        EXTERNAL_JOBS='$(MACOSX.JOBS)' \
        EXTERNAL_O='$(MACOSX.map.O.$(MACOSX.GCC.O))' \
        EXTERNAL_VARS='$(-*-command-variables-*-)' \
        \
        $(MACOSX.extra_cflags) \
        \
        $(2) ) ; $(strip \
    $(XCODEBUILD.exe) \
        -exportArchive \
        -exportOptionsPlist '$(MACOSX.src/)archive.plist' \
        -exportPath '$(MACOSX.xarchive/)' \
        -archivePath '$(MACOSX.xarchive/)' )

ifeq (1,$(SECURITY.sandbox))
    MACOSX.SIGN = $(strip $(MACOSX.src/)hbsign -sr '$(ID)' $(MACOSX.xroot/)HandBrake.app $(MACOSX.xroot/)HandBrakeCLI)
else
    MACOSX.SIGN = $(strip $(MACOSX.src/)hbsign -r '$(ID)' $(MACOSX.xroot/)HandBrake.app $(MACOSX.xroot/)HandBrakeCLI)
endif

MACOSX.NOTARIZE = $(strip $(MACOSX.src/)hbnotarize '$(USERNAME)' $(MACOSX.xroot/)HandBrake.app $(MACOSX.xroot/)HandBrakeCLI)