CC		?= cc
CCFLAGS		?= -O2
CCFLAGS		+= -Wall			\
		   -Wextra			\
		   -pipe			\
		   -Wmissing-declarations	\
		   -pedantic			\
		   -fstack-protector-strong
	
LDFLAGS		= -O1, -lcrypto -lssl -lpthread
LDFLAGS		+= -Wl,-z,relro,-z,now

SOURCES		= agent.c \
		  agent_ssl.c \
		  job.c

OBJECTS		= $(SOURCES:.c=.o)
EXECUTABLE	= agent

all: $(SOURCES) $(EXECUTABLE)

$(EXECUTABLE): $(OBJECTS)
	@echo '  LD  $@'
	@$(CC) $(LDFLAGS) $(OBJECTS) -o $@

.c.o:
	@echo '  CC  $@'
	@$(CC) $(CCFLAGS) -c $< -o $@

debug:	CCFLAGS = -O0 -g -Q
debug:	$(SOURCES) $(EXECUTABLE)
	@echo ' Compiling debug with $(CCFLAGS)'

clean:
	rm -f $(OBJECTS) $(EXECUTABLE)

distclean:
	rm -f $(OBJECTS)

