File: Makefile_mac2

package info (click to toggle)
boinc 7.14.2%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 111,132 kB
  • sloc: cpp: 163,589; php: 113,173; ansic: 49,284; pascal: 35,620; xml: 17,864; java: 13,521; python: 6,551; sh: 4,082; perl: 1,843; makefile: 1,796; objc: 1,543; sql: 959; csh: 126; lisp: 47
file content (138 lines) | stat: -rw-r--r-- 5,293 bytes parent folder | download | duplicates (5)
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# stand-alone makefile for uc2 BOINC example application on Macintosh.
# Updated 7/11/12 for OS 10.7 and XCode 4.3
# Updated 8/3/12 for TrueType fonts
# Updated 11/8/12 to add slide_show
# Updated 4/14/15 for compatibility with Xcode 6
#
## First, build the BOINC libraries using boinc/mac_build/BuildMacBOINC.sh 
## This file assumes the locations of the needed libraries are those
## resulting from following the instructions found in the file:
##     boinc/mac_build/HowToBuildBOINC_XCode.rtf
## In Terminal, CD to the example_app directory:
##     cd [path]/example_app/
## and run this make file:
##     make -f Makefile_mac2
#

BOINC_DIR = ../..
BOINC_API_DIR = $(BOINC_DIR)/api
BOINC_LIB_DIR = $(BOINC_DIR)/lib
BOINC_ZIP_DIR = $(BOINC_DIR)/zip
BOINC_BUILD_DIR = $(BOINC_DIR)/mac_build/build/Deployment
BOINC_CONFIG_DIR =  $(BOINC_DIR)/clientgui/mac
FREETYPE_DIR = $(BOINC_DIR)/../freetype-2.4.10
FTGL_DIR = $(BOINC_DIR)/../ftgl-2.1.3~rc5
FRAMEWORKS_DIR = /System/Library/Frameworks

CXXFLAGS_ALL = \
    -g \
    -stdlib=libstdc++ \
    -DAPP_GRAPHICS \
    -I$(BOINC_CONFIG_DIR) \
    -I$(BOINC_DIR) \
    -I$(BOINC_LIB_DIR) \
    -I$(BOINC_API_DIR) \
    -I$(BOINC_ZIP_DIR) \
    -I$(FREETYPE_DIR)/include \
    -I$(FTGL_DIR)/src
    
LDFLAGS_ALL = \
    -Wl,-L$(BOINC_BUILD_DIR) \
    -Wl,-L$(FREETYPE_DIR)/objs/.libs \
    -Wl,-L$(FTGL_DIR)/src/.libs \
    -Wl,-L/usr/lib \
    -Wl,-L.

CXXFLAGS_i386 = -arch i386 -DMAC_OS_X_VERSION_MAX_ALLOWED=1040 -DMAC_OS_X_VERSION_MIN_REQUIRED=1040 \
    $(CXXFLAGS_ALL) -fvisibility=hidden -fvisibility-inlines-hidden
LDFLAGS_i386 = -Wl,-arch,i386 $(LDFLAGS_ALL)

CXXFLAGS_x86_64 = -arch x86_64 -DMAC_OS_X_VERSION_MAX_ALLOWED=1050 -DMAC_OS_X_VERSION_MIN_REQUIRED=1050 \
    $(CXXFLAGS_ALL) -fvisibility=hidden -fvisibility-inlines-hidden
LDFLAGS_x86_64 = -Wl,-arch,x86_64 $(LDFLAGS_ALL)


OBJ = \
    uc2_i386.o \
    ttfont_i386.o \
    uc2_graphics_i386.o \
    slide_show_i386.o \
    uc2_x86_64.o \
    ttfont_x86_64.o \
    uc2_graphics_x86_64.o \
    slide_show_x86_64.o


PROGS = \
    uc2_i386 uc2_graphics_i386 slide_show_i386 \
    uc2_x86_64 uc2_graphics_x86_64 slide_show_x86_64

all: $(PROGS)

clean:
	/bin/rm -f $(PROGS) $(OBJ)

uc2_i386: export MACOSX_DEPLOYMENT_TARGET=10.4
uc2_graphics_i386: export MACOSX_DEPLOYMENT_TARGET=10.4
slide_show_i386: export MACOSX_DEPLOYMENT_TARGET=10.4
uc2_x86_64: export MACOSX_DEPLOYMENT_TARGET=10.5
uc2_graphics_x86_64: export MACOSX_DEPLOYMENT_TARGET=10.5
slide_show_x86_64: export MACOSX_DEPLOYMENT_TARGET=10.5

target uc2_i386: MACOSX_DEPLOYMENT_TARGET=10.4
uc2_i386.o: uc2.cpp
	$(CXX) -c $(CXXFLAGS_i386) uc2.cpp -o uc2_i386.o

ttfont_i386.o: $(BOINC_API_DIR)/ttfont.cpp
	$(CXX) -c $(CXXFLAGS_i386) $(BOINC_API_DIR)/ttfont.cpp -o ttfont_i386.o

uc2_graphics_i386.o: uc2_graphics.cpp
	$(CXX) -c $(CXXFLAGS_i386) uc2_graphics.cpp -o uc2_graphics_i386.o

slide_show_i386.o: slide_show.cpp
	$(CXX) $(CXXFLAGS_i386) -c slide_show.cpp -o slide_show_i386.o

target uc2_x86_64: MACOSX_DEPLOYMENT_TARGET=10.5
uc2_x86_64.o: uc2.cpp
	$(CXX) -c $(CXXFLAGS_x86_64) uc2.cpp -o uc2_x86_64.o

ttfont_x86_64.o: $(BOINC_API_DIR)/ttfont.cpp
	$(CXX) -c $(CXXFLAGS_x86_64) $(BOINC_API_DIR)/ttfont.cpp -o ttfont_x86_64.o

uc2_graphics_x86_64.o: uc2_graphics.cpp
	$(CXX) -c $(CXXFLAGS_x86_64) uc2_graphics.cpp -o uc2_graphics_x86_64.o

slide_show_x86_64.o: slide_show.cpp
	$(CXX) $(CXXFLAGS_x86_64) -c slide_show.cpp -o slide_show_x86_64.o

uc2_i386: uc2_i386.o $(BOINC_BUILD_DIR)/libboinc_api.a $(BOINC_BUILD_DIR)/libboinc.a
	$(CXX) $(CXXFLAGS_i386) $(LDFLAGS_i386) -o uc2_i386 uc2_i386.o -lboinc_api -lboinc

uc2_graphics_i386: uc2_graphics_i386.o ttfont_i386.o $(BOINC_BUILD_DIR)/libboinc.a\
    $(BOINC_BUILD_DIR)/libboinc_graphics2.a $(FREETYPE_DIR/objs/.libs/libfreetype.a\
    $(FTGL_DIR)/src/.libs/libftgl.a
	$(CXX) $(CXXFLAGS_i386) $(LDFLAGS_i386) -o uc2_graphics_i386 uc2_graphics_i386.o\
    ttfont_i386.o -lboinc_graphics2 -lboinc_api -lboinc -ljpeg -lfreetype -lftgl -lz\
    -lbz2 -framework AppKit -framework GLUT -framework OpenGL

slide_show_i386: slide_show_i386.o $(BOINC_BUILD_DIR)/libboinc.a\
    $(BOINC_BUILD_DIR)/libboinc_graphics2.a
	$(CXX) $(CXXFLAGS_x86_64) $(LDFLAGS_i386) -o slide_show_i386 slide_show_i386.o\
    -lboinc_graphics2 -lboinc_api -lboinc -ljpeg -lboinc_zip\
    -framework AppKit -framework GLUT -framework OpenGL

uc2_x86_64: uc2_x86_64.o $(BOINC_BUILD_DIR)/libboinc_api.a $(BOINC_BUILD_DIR)/libboinc.a
	$(CXX) $(CXXFLAGS_x86_64) $(LDFLAGS_x86_64) -o uc2_x86_64 uc2_x86_64.o -lboinc_api -lboinc

uc2_graphics_x86_64: uc2_graphics_x86_64.o ttfont_x86_64.o $(BOINC_BUILD_DIR)/libboinc.a\
    $(BOINC_BUILD_DIR)/libboinc_graphics2.a $(FREETYPE_DIR/objs/.libs/libfreetype.a\
    $(FTGL_DIR)/src/.libs/libftgl.a
	$(CXX) $(CXXFLAGS_x86_64) $(LDFLAGS_x86_64) -o uc2_graphics_x86_64\
    uc2_graphics_x86_64.o ttfont_x86_64.o -lboinc_graphics2 -lboinc_api -lboinc -ljpeg\
    -lfreetype -lftgl -lz -lbz2 -framework AppKit -framework GLUT -framework OpenGL

slide_show_x86_64: slide_show_x86_64.o $(BOINC_BUILD_DIR)/libboinc.a\
    $(BOINC_BUILD_DIR)/libboinc_graphics2.a
	$(CXX) $(CXXFLAGS_x86_64) $(LDFLAGS_x86_64) -o slide_show_x86_64 slide_show_x86_64.o\
    -lboinc_graphics2 -lboinc_api -lboinc -ljpeg -lboinc_zip\
    -framework AppKit -framework GLUT -framework OpenGL