boinc/uppercase/Makefile

49 lines
1.4 KiB
Makefile

# This should work on Linux. Modify as needed for other platforms.
# Do this first:
# ln -s `g++ -print-file-name=libstdc++.a`
# This creates a symbolic link to the C++ library,
# which is linked statically
BOINC_DIR = ../../boinc
BOINC_API_DIR = $(BOINC_DIR)/api
BOINC_LIB_DIR = $(BOINC_DIR)/lib
CXXFLAGS = -g \
-I$(BOINC_DIR) \
-I$(BOINC_LIB_DIR) \
-I$(BOINC_API_DIR) \
-L$(BOINC_API_DIR) \
-L$(BOINC_LIB_DIR) \
-L /usr/X11R6/lib \
-L.
# the following should be freeglut; use nm to check
# you may have to change the paths for your system
LIBGLUT = /usr/local/lib/libglut.a
LIBGLU = /usr/local/lib/libGLU.a
LIBJPEG = /usr/local/lib/libjpeg.a
PROGS = upper_case upper_case.so
all: $(PROGS)
clean:
rm $(PROGS)
# the -Wl,--export-dynamic causes the main program's symbols
# to be exported to the graphics library
upper_case: upper_case.o $(BOINC_API_DIR)/libboinc_api.a $(BOINC_API_DIR)/libboinc_graphics_lib.a $(BOINC_LIB_DIR)/libboinc.a
$(CXX) $(CXXFLAGS) -Wl,--export-dynamic -o upper_case upper_case.o libstdc++.a -pthread -lboinc_api -lboinc -lboinc_graphics_lib -ldl
upper_case.so: uc_graphics.o $(BOINC_LIB_DIR)/libboinc.a $(BOINC_API_DIR)/libboinc_graphics_impl.a
$(CXX) $(CXXFLAGS) -o upper_case.so \
-shared -fPIC -pthread \
uc_graphics.o \
libstdc++.a \
-lboinc_graphics_impl -lboinc \
$(LIBGLUT) $(LIBGLU) $(LIBJPEG) \
-lGL -lX11 -lXmu -lm; \
chcon -t texrel_shlib_t upper_case.so