59 lines
1.7 KiB
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
|