71 lines
1.7 KiB
Makefile
71 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
|
|
|
|
SRCDIR = src
|
|
OBJDIR = obj
|
|
BUILDDIR = build
|
|
|
|
SOURCES := $(wildcard $(SRCDIR)/*.c)
|
|
INCLUDES := $(wildcard $(SRCDIR)/*.h)
|
|
OBJECTS := $(SOURCES:$(SRCDIR)/%.c=$(OBJDIR)/%.o)
|
|
EXECUTABLE = rmpsd
|
|
INSTALLDIR := $(DESTDIR)/usr/bin
|
|
|
|
$(BUILDDIR)/$(EXECUTABLE): $(OBJECTS)
|
|
ifeq ($(VERBOSE), yes)
|
|
$(CC) $(SQLLDFLAGS) $(LDFLAGS) $(OBJECTS) -o $@
|
|
else
|
|
@echo ' LD $@'
|
|
@$(CC) $(SQLLDFLAGS) $(LDFLAGS) $(OBJECTS) -o $@
|
|
endif
|
|
|
|
$(OBJECTS): $(OBJDIR)/%.o : $(SRCDIR)/%.c
|
|
ifeq ($(VERBOSE), yes)
|
|
$(CC) $(CFLAGS) $(SQLCFLAGS) -c $< -o $@
|
|
else
|
|
@echo ' CC $<'
|
|
@$(CC) $(CFLAGS) $(SQLCFLAGS) -c $< -o $@
|
|
endif
|
|
|
|
clean:
|
|
rm -f $(OBJECTS) $(BUILDDIR)/$(EXECUTABLE)
|
|
|
|
distclean:
|
|
rm -f $(OBJECTS)
|
|
|
|
install:
|
|
install -m755 -D $(BUILDDIR)/$(EXECUTABLE) "$(INSTALLDIR)/$(EXECUTABLE)"
|
|
install -m644 -D docs/conf/rmps.conf "$(DESTDIR)/etc/rmps/rmps.conf"
|
|
install -m644 -D docs/systemd/rmpsd.service "$(DESTDIR)/usr/lib/systemd/system/rmpsd.service"
|
|
install -m644 -D docs/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"
|
|
|