CC ?= cc OLEVEL ?= -O2 WFLAGS ?= -Wall \ -Wextra \ -Wmissing-declarations \ -pedantic SQLCCFLAGS ?= $(shell mysql_config --cflags) CCFLAGS += -pipe \ -fstack-protector-strong # Use this to store compile flags and debug info. # You may simply check the flags later with: # $ readelf -p .GCC.command.line rmpsd ifeq "$(DEBUG)" "yes" CCFLAGS += -frecord-gcc-switches -g endif LDFLAGS = -O1 -lcrypto -lssl -lpthread LDFLAGS += -Wl,-z,relro,-z,now SQLLDFLAGS += $(shell mysql_config --libs) SOURCES = main.c \ confparser.c \ rmps.c \ enum_functions.c \ log.c \ agent_pool.c \ client_pool.c \ sql.c \ job_queue.c OBJECTS = $(SOURCES:.c=.o) EXECUTABLE = rmpsd INSTALLDIR := $(DESTDIR)/usr/bin all: $(SOURCES) $(EXECUTABLE) $(EXECUTABLE): $(OBJECTS) @echo ' LD $@' @$(CC) $(LDFLAGS) $(SQLLDFLAGS) $(OBJECTS) -o $@ .c.o: @echo ' CC $@' @$(CC) $(CCFLAGS) $(WFLAGS) $(SQLCCFLAGS) $(OLEVEL) -c $< -o $@ clean: rm -f $(OBJECTS) $(EXECUTABLE) distclean: rm -f $(OBJECTS) install: install -m755 -D $(EXECUTABLE) "$(INSTALLDIR)/$(EXECUTABLE)" uninstall: rm -f "$(INSTALLDIR)/$(EXECUTABLE)"