# Makefile para programas que usam a biblioteca GRAPHlists
################################################################################


STD = -std=c99

OP1 = -Wall -Wextra -Wpedantic -Wshadow
OP2 = -Wno-unused-result -Wno-unused-function

OPTM = -O0
# OPTM = -O2

# GDB = -g

INC = -I./

# LM = -lm

VERBOSE = -v

# serão compilados junto com programa-cliente
BIB = \
GRAPHlists.c \
MYTOOLS.c \
STACK.c \
QUEUE.c \
PQ.c \
maxPQ.c \
UF.c


################################################################################

.PHONY : .FORCE default 

.FORCE :

.SUFFIXES : .o .c

default : 
	@echo "Nothing done"


################################################################################
## Para compilar o programa dir/xxx.c diga "make dir/xxx"

% : %.c .FORCE
	@echo "-------"
	gcc $(STD) $(OP1) $(OP2) $(OPTM) $(INC) $(GDB) $< $(BIB) -o $@ $(LM)
	@echo "-------"
	@echo ""

################################################################################
## Para gerar xxx.o

%.o : %.c .FORCE
	@echo ""
	@echo "------- Will compile C to o:"
	gcc $(STD) $(OP1) $(OP2) $(OPTM) $(GDB) $< -c
	@echo "-------"
	@echo ""

% : %.o .FORCE
	@echo ""
	@echo "------- Will compile o to exe:"
	gcc $(STD) $(OP1) $(OP2) $(OPTM) $< -o $@ $(LM)
	@echo "-------"
	@echo ""

################################################################################
