X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;f=Makefile;h=953f4aca3c6d160200eacd1615c462e96bedf3ce;hb=804de9eaa678ecf50ab0ed0fbef027fe6dbce414;hp=3b4ea46d7d864a1eb76e81fa7ba3e84412ce7a31;hpb=762714b0bd3e8db3e57ef1e29bcf2adfefe7e5a5;p=universe.git diff --git a/Makefile b/Makefile index 3b4ea46..953f4ac 100644 --- a/Makefile +++ b/Makefile @@ -13,22 +13,28 @@ # 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 @@ -36,27 +42,32 @@ TAGS: *.cc *.h main: main.o misc.o \ simple_window.o \ universe.o \ - xfig_tracer.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) -lX11 $(CXXFLAGS) -o $@ $^ $(LDFLAGS) + $(CXX) $(CXXFLAGS) $(LDFLAGS) -lX11 -o $@ $^ -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) +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