Files
Le-Compte-est-Bon/Makefile

59 lines
1.7 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 (signal handler, etc...)
CFLAGS:=$(CFLAGS) -DDEBUG_MAIN # general information in main
#CFLAGS:=$(CFLAGS) -DDEBUG_MAINSLEEP # sleep 1 sec within main loop (SIGINTR test)
#CFLAGS:=$(CFLAGS) -DDEBUG_MAINLOOP # main loop (do not use this!)
#CFLAGS:=$(CFLAGS) -DDEBUG_TIMER # timer
#CFLAGS:=$(CFLAGS) -DDEBUG_SIGNAL # signal
#CFLAGS:=$(CFLAGS) -DDEBUG_BEST # best control
#CFLAGS:=$(CFLAGS) -DDEBUG_TREE # tree
#CFLAGS:=$(CFLAGS) -DDEBUG_OPER # oper
#CFLAGS:=$(CFLAGS) -DDEBUG_STACK # stack
#CFLAGS:=$(CFLAGS) -DDEBUG_STACK2 # stack - more details
#CFLAGS:=$(CFLAGS) -DDEBUG_EVAL # eval
#CFLAGS:=$(CFLAGS) -DDEBUG_EVAL2 # eval 2
#CFLAGS:=$(CFLAGS) -DDEBUG_EVAL3 # eval 3
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