2008-03-26 14:43:00 +00:00
|
|
|
# stand-alone makefile for uc2 BOINC example application on Macintosh.
|
2012-07-11 10:32:09 +00:00
|
|
|
# Updated 7/11/12 for OS 10.7 and XCode 4.3
|
2012-08-03 08:58:50 +00:00
|
|
|
# Updated 8/3/12 for TrueType fonts
|
2012-11-09 11:36:20 +00:00
|
|
|
# Updated 11/8/12 to add slide_show
|
2015-04-14 14:13:54 +00:00
|
|
|
# Updated 4/14/15 for compatibility with Xcode 6
|
2020-05-01 11:59:37 +00:00
|
|
|
# Updated 4/30/20 for compatibility with Xcode 11 and OS 10.13
|
2023-01-07 01:48:18 +00:00
|
|
|
# Updated 2/6/23 added arm64 support
|
2008-03-26 14:43:00 +00:00
|
|
|
#
|
2023-01-07 01:48:18 +00:00
|
|
|
## First, build the BOINC libraries using boinc/mac_build/BuildMacBOINC.sh
|
2015-04-14 14:13:54 +00:00
|
|
|
## This file assumes the locations of the needed libraries are those
|
2012-08-03 12:11:27 +00:00
|
|
|
## resulting from following the instructions found in the file:
|
|
|
|
## boinc/mac_build/HowToBuildBOINC_XCode.rtf
|
2012-11-09 11:36:20 +00:00
|
|
|
## In Terminal, CD to the example_app directory:
|
|
|
|
## cd [path]/example_app/
|
|
|
|
## and run this make file:
|
|
|
|
## make -f Makefile_mac2
|
2012-08-03 12:11:27 +00:00
|
|
|
#
|
2008-03-26 14:43:00 +00:00
|
|
|
|
2008-08-01 18:14:00 +00:00
|
|
|
BOINC_DIR = ../..
|
2008-03-26 14:43:00 +00:00
|
|
|
BOINC_API_DIR = $(BOINC_DIR)/api
|
|
|
|
BOINC_LIB_DIR = $(BOINC_DIR)/lib
|
2012-11-09 11:36:20 +00:00
|
|
|
BOINC_ZIP_DIR = $(BOINC_DIR)/zip
|
2010-02-16 11:34:18 +00:00
|
|
|
BOINC_BUILD_DIR = $(BOINC_DIR)/mac_build/build/Deployment
|
2023-01-07 01:48:18 +00:00
|
|
|
BOINC_CONFIG_DIR = $(BOINC_DIR)/clientgui/mac
|
|
|
|
FREETYPE_DIR = $(BOINC_DIR)/../freetype-2.11.0
|
2012-08-03 08:58:50 +00:00
|
|
|
FTGL_DIR = $(BOINC_DIR)/../ftgl-2.1.3~rc5
|
2008-03-26 14:43:00 +00:00
|
|
|
FRAMEWORKS_DIR = /System/Library/Frameworks
|
|
|
|
|
|
|
|
CXXFLAGS_ALL = \
|
2023-01-07 01:48:18 +00:00
|
|
|
$(ISYSROOT) \
|
2008-03-26 14:43:00 +00:00
|
|
|
-g \
|
2023-01-07 01:48:18 +00:00
|
|
|
-stdlib=libc++ \
|
2008-03-26 14:43:00 +00:00
|
|
|
-DAPP_GRAPHICS \
|
2023-01-07 01:48:18 +00:00
|
|
|
-DMAC_OS_X_VERSION_MAX_ALLOWED=101300 \
|
|
|
|
-DMAC_OS_X_VERSION_MIN_REQUIRED=101300 \
|
|
|
|
-fvisibility=hidden \
|
|
|
|
-fvisibility-inlines-hidden \
|
2010-02-16 11:34:18 +00:00
|
|
|
-I$(BOINC_CONFIG_DIR) \
|
2008-03-26 14:43:00 +00:00
|
|
|
-I$(BOINC_DIR) \
|
|
|
|
-I$(BOINC_LIB_DIR) \
|
|
|
|
-I$(BOINC_API_DIR) \
|
2012-11-09 11:36:20 +00:00
|
|
|
-I$(BOINC_ZIP_DIR) \
|
2012-08-03 08:58:50 +00:00
|
|
|
-I$(FREETYPE_DIR)/include \
|
2023-01-07 01:48:18 +00:00
|
|
|
-I$(PREFIX)/include/freetype2 \
|
|
|
|
-I$(FTGL_DIR)/src \
|
|
|
|
-I$(PREFIX)/include
|
|
|
|
|
2012-08-03 08:58:50 +00:00
|
|
|
LDFLAGS_ALL = \
|
2023-01-07 01:48:18 +00:00
|
|
|
$(SYSLIBROOT) \
|
2012-08-03 08:58:50 +00:00
|
|
|
-Wl,-L$(BOINC_BUILD_DIR) \
|
|
|
|
-Wl,-L$(FREETYPE_DIR)/objs/.libs \
|
|
|
|
-Wl,-L$(FTGL_DIR)/src/.libs \
|
2023-01-07 01:48:18 +00:00
|
|
|
-Wl,-L$(PREFIX)/lib \
|
|
|
|
-Wl,-L. \
|
|
|
|
-Wl,-L/usr/lib
|
2008-03-26 14:43:00 +00:00
|
|
|
|
2023-01-07 01:48:18 +00:00
|
|
|
CXXFLAGS_x86_64 = -arch x86_64 $(CXXFLAGS_ALL)
|
2012-08-03 08:58:50 +00:00
|
|
|
LDFLAGS_x86_64 = -Wl,-arch,x86_64 $(LDFLAGS_ALL)
|
2008-03-26 14:43:00 +00:00
|
|
|
|
2023-01-07 01:48:18 +00:00
|
|
|
CXXFLAGS_arm64 = -arch arm64 $(CXXFLAGS_ALL)
|
|
|
|
LDFLAGS_arm64 = -Wl,-arch,arm64 $(LDFLAGS_ALL)
|
|
|
|
|
2008-03-26 14:43:00 +00:00
|
|
|
|
|
|
|
OBJ = \
|
|
|
|
uc2_x86_64.o \
|
2012-08-03 08:58:50 +00:00
|
|
|
ttfont_x86_64.o \
|
2008-03-26 14:43:00 +00:00
|
|
|
uc2_graphics_x86_64.o \
|
2023-01-07 01:48:18 +00:00
|
|
|
slide_show_x86_64.o \
|
|
|
|
uc2_arm64.o \
|
|
|
|
ttfont_arm64.o \
|
|
|
|
uc2_graphics_arm64.o \
|
|
|
|
slide_show_arm64.o
|
2008-03-26 14:43:00 +00:00
|
|
|
|
2012-11-09 11:36:20 +00:00
|
|
|
|
|
|
|
PROGS = \
|
2023-01-07 01:48:18 +00:00
|
|
|
uc2_x86_64 uc2_graphics_x86_64 slide_show_x86_64 uc2_arm64 uc2_graphics_arm64 slide_show_arm64
|
2008-03-26 14:43:00 +00:00
|
|
|
|
|
|
|
all: $(PROGS)
|
|
|
|
|
|
|
|
clean:
|
|
|
|
/bin/rm -f $(PROGS) $(OBJ)
|
|
|
|
|
2023-01-07 01:48:18 +00:00
|
|
|
uc2_x86_64: export MACOSX_DEPLOYMENT_TARGET=10.13
|
|
|
|
uc2_graphics_x86_64: export MACOSX_DEPLOYMENT_TARGET=10.13
|
|
|
|
slide_show_x86_64: export MACOSX_DEPLOYMENT_TARGET=10.13
|
|
|
|
uc2_arm64: export MACOSX_DEPLOYMENT_TARGET=10.13
|
|
|
|
uc2_graphics_arm64: export MACOSX_DEPLOYMENT_TARGET=10.13
|
|
|
|
slide_show_arm64: export MACOSX_DEPLOYMENT_TARGET=10.13
|
2012-08-03 08:58:50 +00:00
|
|
|
|
2023-01-07 01:48:18 +00:00
|
|
|
# target uc2_x86_64: MACOSX_DEPLOYMENT_TARGET=10.13
|
2008-09-26 18:06:27 +00:00
|
|
|
uc2_x86_64.o: uc2.cpp
|
2023-01-07 01:48:18 +00:00
|
|
|
$(CXX) $(CXXFLAGS_x86_64) -c uc2.cpp -o uc2_x86_64.o
|
|
|
|
uc2_arm64.o: uc2.cpp
|
|
|
|
$(CXX) $(CXXFLAGS_arm64) -c uc2.cpp -o uc2_arm64.o
|
2008-03-26 14:43:00 +00:00
|
|
|
|
2012-08-03 08:58:50 +00:00
|
|
|
ttfont_x86_64.o: $(BOINC_API_DIR)/ttfont.cpp
|
2023-01-07 01:48:18 +00:00
|
|
|
$(CXX) $(CXXFLAGS_x86_64) -c $(BOINC_API_DIR)/ttfont.cpp -o ttfont_x86_64.o
|
|
|
|
ttfont_arm64.o: $(BOINC_API_DIR)/ttfont.cpp
|
|
|
|
$(CXX) $(CXXFLAGS_arm64) -c $(BOINC_API_DIR)/ttfont.cpp -o ttfont_arm64.o
|
2012-08-03 08:58:50 +00:00
|
|
|
|
2008-09-26 18:06:27 +00:00
|
|
|
uc2_graphics_x86_64.o: uc2_graphics.cpp
|
2023-01-07 01:48:18 +00:00
|
|
|
$(CXX) $(CXXFLAGS_x86_64) -c uc2_graphics.cpp -o uc2_graphics_x86_64.o
|
|
|
|
uc2_graphics_arm64.o: uc2_graphics.cpp
|
|
|
|
$(CXX) $(CXXFLAGS_arm64) -c uc2_graphics.cpp -o uc2_graphics_arm64.o
|
2008-03-26 14:43:00 +00:00
|
|
|
|
2012-11-09 11:36:20 +00:00
|
|
|
slide_show_x86_64.o: slide_show.cpp
|
|
|
|
$(CXX) $(CXXFLAGS_x86_64) -c slide_show.cpp -o slide_show_x86_64.o
|
2023-01-07 01:48:18 +00:00
|
|
|
slide_show_arm64.o: slide_show.cpp
|
|
|
|
$(CXX) $(CXXFLAGS_arm64) -c slide_show.cpp -o slide_show_arm64.o
|
2012-11-09 11:36:20 +00:00
|
|
|
|
2010-02-16 11:34:18 +00:00
|
|
|
uc2_x86_64: uc2_x86_64.o $(BOINC_BUILD_DIR)/libboinc_api.a $(BOINC_BUILD_DIR)/libboinc.a
|
2012-07-11 10:32:09 +00:00
|
|
|
$(CXX) $(CXXFLAGS_x86_64) $(LDFLAGS_x86_64) -o uc2_x86_64 uc2_x86_64.o -lboinc_api -lboinc
|
2023-01-07 01:48:18 +00:00
|
|
|
uc2_arm64: uc2_arm64.o $(BOINC_BUILD_DIR)/libboinc_api.a $(BOINC_BUILD_DIR)/libboinc.a
|
|
|
|
$(CXX) $(CXXFLAGS_arm64) $(LDFLAGS_arm64) -o uc2_arm64 uc2_arm64.o -lboinc_api -lboinc
|
2008-03-26 14:43:00 +00:00
|
|
|
|
2012-08-03 08:58:50 +00:00
|
|
|
uc2_graphics_x86_64: uc2_graphics_x86_64.o ttfont_x86_64.o $(BOINC_BUILD_DIR)/libboinc.a\
|
2023-01-07 01:48:18 +00:00
|
|
|
$(BOINC_BUILD_DIR)/libboinc_graphics2.a
|
2012-08-03 08:58:50 +00:00
|
|
|
$(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\
|
2020-05-01 10:56:32 +00:00
|
|
|
-lfreetype -lftgl -lz -lbz2 -framework AppKit -framework GLUT -framework OpenGL\
|
2023-01-07 01:48:18 +00:00
|
|
|
-framework IOSurface
|
|
|
|
uc2_graphics_arm64: uc2_graphics_arm64.o ttfont_arm64.o $(BOINC_BUILD_DIR)/libboinc.a\
|
|
|
|
$(BOINC_BUILD_DIR)/libboinc_graphics2.a
|
|
|
|
$(CXX) $(CXXFLAGS_arm64) $(LDFLAGS_arm64) -o uc2_graphics_arm64\
|
|
|
|
uc2_graphics_arm64.o ttfont_arm64.o -lboinc_graphics2 -lboinc_api -lboinc -ljpeg\
|
|
|
|
-lfreetype -lftgl -lz -lbz2 -framework AppKit -framework GLUT -framework OpenGL\
|
|
|
|
-framework IOSurface
|
2012-11-09 11:36:20 +00:00
|
|
|
|
|
|
|
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\
|
2020-05-01 10:56:32 +00:00
|
|
|
-framework AppKit -framework GLUT -framework OpenGL -framework IOSurface
|
2023-01-07 01:48:18 +00:00
|
|
|
slide_show_arm64: slide_show_arm64.o $(BOINC_BUILD_DIR)/libboinc.a\
|
|
|
|
$(BOINC_BUILD_DIR)/libboinc_graphics2.a
|
|
|
|
$(CXX) $(CXXFLAGS_arm64) $(LDFLAGS_arm64) -o slide_show_arm64 slide_show_arm64.o\
|
|
|
|
-lboinc_graphics2 -lboinc_api -lboinc -ljpeg -lboinc_zip\
|
|
|
|
-framework AppKit -framework GLUT -framework OpenGL -framework IOSurface
|