Files
Le-Compte-est-Bon/Makefile

55 lines
1.4 KiB
Makefile

SHELL := /bin/bash
CFLAGS:=
# warnings: all
CFLAGS:=$(CFLAGS) -Wall
# optimisation
CFLAGS:=$(CFLAGS) -O3
# symbols
#CFLAGS:=$(CFLAGS) -g
# profiler
#CFLAGS:=$(CFLAGS) -pg
##################################### DEBUG flags:
CFLAGS:=$(CFLAGS) -DDEBUG # general
#CFLAGS:=$(CFLAGS) -DDEBUG1 # temp
#CFLAGS:=$(CFLAGS) -DDEBUG_MAIN # main
#CFLAGS:=$(CFLAGS) -DDEBUG_TIMER # timer
#CFLAGS:=$(CFLAGS) -DDEBUG_BEST # best control
#CFLAGS:=$(CFLAGS) -DDEBUG_TREE # tree
#CFLAGS:=$(CFLAGS) -DDEBUG_OPER # oper
#CFLAGS:=$(CFLAGS) -DDEBUG_STACK # stack
#CFLAGS:=$(CFLAGS) -DDEBUG_EVAL # eval
#CFLAGS:=$(CFLAGS) -DDEBUG_EVAL2 # eval 2
CFLAGS:=$(CFLAGS) -DDEBUG_MEM # malloc
TIME := \time -f "\ttime: %E real, %U user, %S sys\n\tcontext-switch:\t%c+%w, page-faults: %F+%R\n"
export PATH := .:$(PATH)
TARGETS=lceb tree oper timer
OBJS=lceb.o tree.o oper.o stack.o eval.o best.o timer.o stack.o
INCLUDES=lceb.h
DEPS=$(INCLUDES) Makefile
.PHONY: all clean
all: $(TARGETS)
lceb: $(OBJS)
$(CC) $(CFLAGS) -o $@ $^
#tree oper timer: lceb.h
tree: tree.c $(DEPS)
$(CC) $(CFLAGS) -DSTANDALONE -o $@ $<
oper: oper.c $(DEPS)
$(CC) $(CFLAGS) -DSTANDALONE -o $@ $<
timer: timer.c $(DEPS)
$(CC) $(CFLAGS) -DSTANDALONE -o $@ $<
lceb.o tree.o oper.o eval.o stack.o best.o timer.o: $(DEPS)
clean:
rm -f $(TARGETS) $(OBJS) core