# Makefile for KnightCap # what C compiler? It better be Ansi-C. Use gcc if you have it. # you may find that KnightCap is very slow if you don't use gcc CC = gcc # What compiler switches do you want? These ones work well with gcc OPT = -O3 -fomit-frame-pointer -fshort-enums -Wall -DCPU=686 # OPT = -g -fshort-enums -Wall # If you don't have gcc then perhaps try this instead. You only need # the null definition for inline if your C compiler doesn't know about # the inline keyword # OPT = -O -Dinline="" # if you want profiling (for performance tuning) then uncomment # the following (some systems may not support this properly) # LOPT = -pg # comment out the following 7 lines if you don't want the rendered # display (or you don't have OpenGL and Glut libraries) # If you do have these libs then make sure the first three # lines point at the right places #MESA = /usr/local/Mesa-2.1 #GLUT = /usr/local/Mesa-2.1/glut-3.2 #X11 = /usr/X11R6 #GLUT_LIBS = -L$(GLUT)/lib/glut -lglut #MESA_LIBS = -L$(MESA)/lib -lMesaGLU -lMesaGL -lm #XLIBS = -L$(X11)/lib -lXmu -lXt -lXext -lX11 -lXi #DISPLAYFLAGS = -I$(MESA)/include -I$(GLUT) -DRENDERED_DISPLAY=1 # you shouldn't need to edit anything below this line. Unless # something goes wrong. INCLUDE = $(DISPLAYFLAGS) CFLAGS = $(OPT) $(INCLUDE) #-DLEARN_EVAL=1 LIBS = $(GLUT_LIBS) $(MESA_LIBS) $(XLIBS) -lm TARGET = KnightCap OBJS = knightcap.o trackball.o move.o util.o generate.o eval.o movement.o \ ordering.o hash.o board.o log.o prog.o timer.o ics.o display.o \ testsuite.o brain.o td.o tactics.o epd.o epdglue.o $(TARGET): $(OBJS) -mv $@ $@.old $(CC) $(LOPT) -o $@ $(OBJS) $(LIBS) proto: cat *.c | awk -f mkproto.awk > proto.h clean: /bin/rm -f *.o *~ $(TARGET)