X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=Makefile;h=29953d6b15f979b375deb8e2f1c04024a03aaab5;hb=HEAD;hp=3ad3823c087a3653ce3ab7439131771ff1daeff1;hpb=5f825b57d69d139d239eae7773a51929ab869dd5;p=universe.git diff --git a/Makefile b/Makefile index 3ad3823..29953d6 100644 --- a/Makefile +++ b/Makefile @@ -13,41 +13,52 @@ # Contact for comments & bug reports # #============================================================================# -# CXX=g++-3.3 - ifeq ($(DEBUG),yes) - CXXFLAGS = -Wall -g -DDEBUG + CXXFLAGS = -fPIC -Wall -g -DDEBUG else # Optimized compilation -# CXXFLAGS = -Wall -g -O3 -pg --coverage - CXXFLAGS = -Wall -g -O3 + # CXXFLAGS = -Wall -g -O3 -pg --coverage + CXXFLAGS = -fPIC -Wall -g -O3 endif -LDFLAGS = -L/usr/X11R6/lib/ +LDFLAGS = -lz -ldl + +# Do we use X11? +CXXFLAGS += -DX11_SUPPORT +LDFLAGS += -L/usr/lib/x86_64-linux-gnu/ + +# Do we use cairo? +CXXFLAGS += -I/usr/include/cairo -DCAIRO_SUPPORT +LDFLAGS += -lcairo TASK_SRC = dummy.cc move_square.cc hit_shape.cc -TASK_OBJ = $(TASK_SRC:.cc=.task) +TASK_OBJ = $(TASK_SRC:.cc=.so) all: main TAGS $(TASK_OBJ) TAGS: *.cc *.h etags *.cc *.h -main: main.o misc.o simple_window.o universe.o polygon.o map.o \ - task.o retina.o manipulator.o approximer.o intelligence.o - $(CXX) -lX11 $(CXXFLAGS) -o $@ $^ $(LDFLAGS) - -art: art.o misc.o simple_window.o universe.o polygon.o map.o \ - task.o retina.o manipulator.o approximer.o intelligence.o - $(CXX) -lX11 $(CXXFLAGS) -o $@ $^ $(LDFLAGS) +main: main.o misc.o \ + simple_window.o \ + universe.o \ + plotter.o \ + polygon.o \ + canvas.o canvas_cairo.o \ + map.o \ + task.o \ + manipulator.o \ + approximer.o \ + intelligence.o + $(CXX) $(CXXFLAGS) $^ $(LDFLAGS) -lX11 -o $@ -%.task: %.cc misc.o universe.o polygon.o map.o task.o manipulator.o +%.so: %.cc misc.o universe.o polygon.o map.o task.o manipulator.o $(CXX) $(CXXFLAGS) -shared -Wl,-soname,$@ -o $@ $^ Makefile.depend: *.h *.cc Makefile - $(CC) -M *.cc > Makefile.depend + $(CC) $(CXXFLAGS) -M *.cc > Makefile.depend clean: - \rm main *.o *.task Makefile.depend + \rm -f main *.o *.so Makefile.depend -include Makefile.depend