Files
rmps/Makefile
Bogomil Vasilev 2ded8ef7dd Test Makefile
2017-08-22 15:28:07 +03:00

77 lines
1.7 KiB
Makefile

CC ?= cc
WFLAGS ?= -Wall \
-Wextra \
-Wmissing-declarations \
-pedantic
SQLCFLAGS ?= $(shell mysql_config --cflags)
SQLLDFLAGS += $(shell mysql_config --libs)
ifndef CFLAGS
OLEVEL ?= -O2
CFLAGS += -pipe \
-fstack-protector-strong \
$(OLEVEL) $(WFLAGS)
endif
# 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)
CFLAGS += -frecord-gcc-switches -g
endif
ifndef LDFLAGS
LDFLAGS = -O1 -lcrypto -lssl -lpthread
LDFLAGS += -Wl,-z,relro,-z,now
endif
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)
ifeq ($(VERBOSE), yes)
$(CC) $(LDFLAGS) $(SQLLDFLAGS) $(OBJECTS) -o $@
else
@echo ' LD $@'
@$(CC) $(LDFLAGS) $(SQLLDFLAGS) $(OBJECTS) -o $@
endif
.c.o:
ifeq ($(VERBOSE), yes)
$(CC) $(CFLAGS) $(SQLCFLAGS) -c $< -o $@
else
@echo ' CC $@'
@$(CC) $(CFLAGS) $(SQLCFLAGS) -c $< -o $@
endif
clean:
rm -f $(OBJECTS) $(EXECUTABLE)
distclean:
rm -f $(OBJECTS)
install:
install -m755 -D $(EXECUTABLE) "$(INSTALLDIR)/$(EXECUTABLE)"
install -m644 -D rmps.conf "$(DESTDIR)/etc/rmps/rmps.conf"
install -m644 -D rmpsd.service "$(DESTDIR)/usr/lib/systemd/system/rmpsd.service"
install -m644 -D enum_codes "$(DESTDIR)/usr/lib/rmps/resources/enum_codes"
uninstall:
rm -f "$(INSTALLDIR)/$(EXECUTABLE)"
rm -f "$(DESTDIR)/etc/rmps/rmps.conf"
rm -f "$(DESTDIR)/usr/lib/systemd/system/rmpsd.service"
rm -f "$(DESTDIR)/usr/lib/rmps/resources/enum_codes"