2007-05-22 20:14:43 +00:00
|
|
|
# This should work on Linux. Modify as needed for other platforms.
|
|
|
|
|
2008-08-01 18:14:00 +00:00
|
|
|
BOINC_DIR = ../..
|
2021-03-21 22:30:46 +00:00
|
|
|
BOINC_SOURCE_API_DIR = $(BOINC_DIR)/api
|
|
|
|
BOINC_SOURCE_LIB_DIR = $(BOINC_DIR)/lib
|
|
|
|
BOINC_SOURCE_ZIP_DIR = $(BOINC_DIR)/zip
|
2012-11-02 22:38:54 +00:00
|
|
|
FREETYPE_DIR = /usr/include/freetype2
|
2007-05-22 20:14:43 +00:00
|
|
|
|
2021-04-10 08:02:39 +00:00
|
|
|
ifdef ANDROID
|
2021-03-21 22:30:46 +00:00
|
|
|
BOINC_API_DIR = $(TCINCLUDES)/lib
|
|
|
|
BOINC_LIB_DIR = $(TCINCLUDES)/lib
|
|
|
|
BOINC_ZIP_DIR = $(TCINCLUDES)/lib
|
|
|
|
|
2021-04-10 08:02:39 +00:00
|
|
|
MAKEFILE_LDFLAGS =
|
|
|
|
MAKEFILE_STDLIB =
|
|
|
|
else
|
|
|
|
BOINC_API_DIR = $(BOINC_SOURCE_API_DIR)
|
|
|
|
BOINC_LIB_DIR = $(BOINC_SOURCE_LIB_DIR)
|
|
|
|
BOINC_ZIP_DIR = $(BOINC_SOURCE_ZIP_DIR)
|
|
|
|
|
|
|
|
MAKEFILE_LDFLAGS = -lpthread libstdc++.a
|
|
|
|
MAKEFILE_STDLIB = libstdc++.a
|
2021-03-21 22:30:46 +00:00
|
|
|
endif
|
|
|
|
|
2013-04-25 08:26:24 +00:00
|
|
|
CXXFLAGS += -g \
|
2011-06-12 20:58:43 +00:00
|
|
|
-Wall -W -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -fno-common \
|
2007-07-20 18:46:43 +00:00
|
|
|
-DAPP_GRAPHICS \
|
2007-05-22 20:14:43 +00:00
|
|
|
-I$(BOINC_DIR) \
|
2021-03-21 22:30:46 +00:00
|
|
|
-I$(BOINC_SOURCE_API_DIR) \
|
|
|
|
-I$(BOINC_SOURCE_LIB_DIR) \
|
|
|
|
-I$(BOINC_SOURCE_ZIP_DIR) \
|
2012-11-02 22:38:54 +00:00
|
|
|
-I$(FREETYPE_DIR) \
|
2021-03-21 22:30:46 +00:00
|
|
|
-L$(BOINC_API_DIR) \
|
|
|
|
-L$(BOINC_LIB_DIR) \
|
|
|
|
-L/usr/X11R6/lib \
|
2007-05-22 20:14:43 +00:00
|
|
|
-L.
|
|
|
|
|
2012-11-02 22:38:54 +00:00
|
|
|
# to get the graphics app to compile you may need to install some packages
|
|
|
|
# e.g. ftgl-devel.x86_64
|
|
|
|
#
|
|
|
|
# You may have to change the paths for your system.
|
2008-10-06 21:46:46 +00:00
|
|
|
|
2021-08-16 13:55:54 +00:00
|
|
|
LIBGLUT = -lglut
|
|
|
|
LIBGLU = -lGLU
|
2021-08-16 08:04:27 +00:00
|
|
|
LIBGL= -lGL
|
|
|
|
LIBUI = -lX11 -lXmu
|
|
|
|
LIBFTGL = -lftgl
|
2021-08-16 13:55:54 +00:00
|
|
|
LIBJPEG = -ljpeg
|
2007-05-22 20:14:43 +00:00
|
|
|
|
2022-04-23 09:40:15 +00:00
|
|
|
ifdef BUILD_WITH_VCPKG
|
|
|
|
BUILD_DIR = $(BOINC_DIR)/3rdParty/linux
|
|
|
|
VCPKG_DIR ?= $(BUILD_DIR)/vcpkg/installed/x64-linux
|
|
|
|
|
|
|
|
CXXFLAGS += \
|
|
|
|
-I$(VCPKG_DIR)/include \
|
|
|
|
-L$(VCPKG_DIR)/lib
|
|
|
|
|
|
|
|
LIBUI = -lX11 -lXmu -lXrandr -lXxf86vm -lXi
|
|
|
|
LIBFTGL = -lftgl -lfreetype -lpng -lbz2 -lbrotlidec-static -lbrotlienc-static -lbrotlicommon-static -lz
|
|
|
|
endif
|
|
|
|
|
2021-08-16 08:04:27 +00:00
|
|
|
ifdef BUILD_WITH_MINGW
|
|
|
|
LIBGLUT = -lfreeglut_static
|
|
|
|
LIBGLU = -lglu32
|
|
|
|
LIBGL= -lopengl32
|
|
|
|
LIBUI = -lgdi32 -lwinmm
|
|
|
|
LIBFTGL = -lftgl -lfreetype -lpng -lbz2 -lbrotlidec-static -lbrotlienc-static -lbrotlicommon-static -lz
|
|
|
|
endif
|
|
|
|
|
2021-03-21 22:30:46 +00:00
|
|
|
PROGS = uc2 ucn
|
2008-11-12 00:11:41 +00:00
|
|
|
# make this optional so compile doesn't break on systems without OpenGL
|
2021-08-16 13:55:54 +00:00
|
|
|
GUI_PROGS = uc2_graphics slide_show
|
2007-05-22 20:14:43 +00:00
|
|
|
|
2021-08-15 19:40:57 +00:00
|
|
|
ifdef BUILD_WITH_GUI
|
|
|
|
$(info building gui apps)
|
|
|
|
PROGS += $(GUI_PROGS)
|
|
|
|
endif
|
|
|
|
|
|
|
|
$(info All PROGS=$(PROGS))
|
|
|
|
|
2007-05-22 20:14:43 +00:00
|
|
|
all: $(PROGS)
|
|
|
|
|
2021-08-16 13:55:54 +00:00
|
|
|
gui: $(GUI_PROGS)
|
|
|
|
|
2008-10-04 18:51:38 +00:00
|
|
|
libstdc++.a:
|
2021-03-21 22:30:46 +00:00
|
|
|
ln -s `$(CXX) -print-file-name=libstdc++.a`
|
2008-10-04 18:51:38 +00:00
|
|
|
|
2012-11-02 22:38:54 +00:00
|
|
|
ttfont.cpp:
|
|
|
|
ln -s ../../api/ttfont.cpp .
|
|
|
|
|
2013-05-16 16:38:31 +00:00
|
|
|
clean: distclean
|
2008-10-21 21:13:52 +00:00
|
|
|
|
|
|
|
distclean:
|
2021-08-16 13:55:54 +00:00
|
|
|
/bin/rm -f $(PROGS) $(GUI_PROGS) $(addsuffix .exe, $(PROGS)) $(addsuffix .exe, $(GUI_PROGS)) *.o libstdc++.a ttfont.cpp
|
2007-05-22 20:14:43 +00:00
|
|
|
|
2009-01-13 23:06:02 +00:00
|
|
|
install: uc2
|
|
|
|
|
2009-01-15 20:23:20 +00:00
|
|
|
# specify library paths explicitly (rather than -l)
|
|
|
|
# because otherwise you might get a version in /usr/lib etc.
|
|
|
|
|
2021-04-10 08:02:39 +00:00
|
|
|
uc2: uc2.o $(MAKEFILE_STDLIB) $(BOINC_API_DIR)/libboinc_api.a $(BOINC_LIB_DIR)/libboinc.a
|
2021-03-21 22:30:46 +00:00
|
|
|
$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -o uc2 uc2.o \
|
2021-04-10 08:02:39 +00:00
|
|
|
-lboinc_api -lboinc $(MAKEFILE_LDFLAGS) \
|
2021-03-21 22:30:46 +00:00
|
|
|
$(STDCPPTC)
|
2007-05-22 20:14:43 +00:00
|
|
|
|
2021-04-10 08:02:39 +00:00
|
|
|
ucn: ucn.o $(MAKEFILE_STDLIB) $(BOINC_API_DIR)/libboinc_api.a $(BOINC_LIB_DIR)/libboinc.a
|
2021-03-21 22:30:46 +00:00
|
|
|
$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -o ucn ucn.o \
|
2021-04-10 08:02:39 +00:00
|
|
|
-lboinc_api -lboinc $(MAKEFILE_LDFLAGS) \
|
2021-03-21 22:30:46 +00:00
|
|
|
$(STDCPPTC)
|
2013-08-28 04:24:01 +00:00
|
|
|
|
2012-11-02 22:38:54 +00:00
|
|
|
uc2_graphics: uc2_graphics.o ttfont.o libstdc++.a $(BOINC_LIB_DIR)/libboinc.a $(BOINC_API_DIR)/libboinc_graphics2.a
|
2013-04-25 08:26:24 +00:00
|
|
|
$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -o uc2_graphics uc2_graphics.o ttfont.o libstdc++.a -pthread \
|
2009-01-16 00:24:44 +00:00
|
|
|
$(BOINC_API_DIR)/libboinc_graphics2.a \
|
|
|
|
$(BOINC_API_DIR)/libboinc_api.a \
|
|
|
|
$(BOINC_LIB_DIR)/libboinc.a \
|
2007-05-22 20:14:43 +00:00
|
|
|
$(LIBGLUT) $(LIBGLU) $(LIBJPEG) \
|
2021-08-16 08:04:27 +00:00
|
|
|
$(LIBFTGL) $(LIBGL) $(LIBUI) -lm
|
2012-11-08 18:45:35 +00:00
|
|
|
|
|
|
|
slide_show: slide_show.o libstdc++.a $(BOINC_LIB_DIR)/libboinc.a $(BOINC_API_DIR)/libboinc_graphics2.a
|
|
|
|
$(CXX) $(CXXFLAGS) -o slide_show slide_show.o libstdc++.a -pthread \
|
2021-08-16 08:04:27 +00:00
|
|
|
$(MINGW_ZIP_FIX) \
|
2012-11-08 18:45:35 +00:00
|
|
|
$(BOINC_API_DIR)/libboinc_graphics2.a \
|
|
|
|
$(BOINC_API_DIR)/libboinc_api.a \
|
|
|
|
$(BOINC_LIB_DIR)/libboinc.a \
|
|
|
|
$(BOINC_ZIP_DIR)/libboinc_zip.a \
|
|
|
|
$(LIBGLUT) $(LIBGLU) $(LIBJPEG) \
|
2021-08-16 08:04:27 +00:00
|
|
|
$(LIBGL) $(LIBUI) -lm
|