X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=Makefile;h=953f4aca3c6d160200eacd1615c462e96bedf3ce;hb=4754eda0991874c388d8a93517d579ed447d81e9;hp=10669ed547e401b382e5fd1bc9073e88780ebf8a;hpb=ba46b057f3e2613a86f2dea7fa8022990482c735;p=universe.git diff --git a/Makefile b/Makefile index 10669ed..953f4ac 100644 --- a/Makefile +++ b/Makefile @@ -13,37 +13,61 @@ # 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/X11R6/lib/ + +# 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) +all: main generate 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) +main: main.o misc.o \ + simple_window.o \ + universe.o \ + plotter.o \ + polygon.o \ + xfig_tracer.o \ + canvas.o canvas_cairo.o \ + map.o \ + task.o \ + retina.o \ + manipulator.o \ + approximer.o \ + intelligence.o + $(CXX) $(CXXFLAGS) $(LDFLAGS) -lX11 -o $@ $^ + +generate: generate.o misc.o \ + universe.o \ + plotter.o \ + polygon.o \ + canvas.o canvas_cairo.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 xfig_tracer.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