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
|