Minor cosmetics.
[universe.git] / Makefile
index 1331d46..953f4ac 100644 (file)
--- a/Makefile
+++ b/Makefile
 # Contact <francois.fleuret@epfl.ch> for comments & bug reports                     #
 #============================================================================#
 
-# CXX=g++-3.3
-
 ifeq ($(DEBUG),yes)
  CXXFLAGS = -fPIC -Wall -g -DDEBUG
 else
  # Optimized compilation
- CXXFLAGS = -Wall -g -O3 -pg --coverage
+ # 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,23 +42,32 @@ TAGS: *.cc *.h
 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) -lX11 $(CXXFLAGS) -o $@ $^ $(LDFLAGS)
+       $(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 xfig_tracer.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