This commit is contained in:
Alessio Caiazza 2023-12-12 13:32:06 +01:00 committed by GitHub
commit a5a62ce918
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,33 +1,48 @@
CC=g++
CFLAGS=-c -std=c++11 -pthread
LDFLAGS=-std=c++11 -pthread
ALL_CXXFLAGS=-std=c++11 -pthread $(CXXFLAGS)
SOURCES=$(wildcard *.cpp)
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=xlxd
all: $(SOURCES) $(EXECUTABLE)
# variables for staged installation
# directory variables - https://www.gnu.org/software/make/manual/html_node/Directory-Variables.html
# DESTDIR - https://www.gnu.org/software/make/manual/html_node/DESTDIR.html
# ComamndVariables - #https://www.gnu.org/software/make/manual/html_node/Command-Variables.html
prefix=/usr/local
exec_prefix=$(prefix)
# by default install under /xlxd/ - it should be $(exec_dir)/sbin
sbin_dir=/xlxd
# by default install config under /xlxd/ - it should be $(prefix)/etc
sysconf_dir=/xlxd
INSTALL=install
INSTALL_PROGRAM=$(INSTALL)
INSTALL_DATA=${INSTALL} -m 644
all: $(OBJECTS) $(EXECUTABLE)
$(EXECUTABLE): $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) -o $@
$(CXX) $(CPPFLAGS) $(ALL_CXXFLAGS) $(OBJECTS) -o $@
.cpp.o:
$(CC) $(CFLAGS) $< -o $@
.cpp.o: %.h
$(CXX) -c $(CPPFLAGS) $(ALL_CXXFLAGS) $<
.PHONY: clean
clean:
$(RM) $(EXECUTABLE) *.o
.PHONY: install
install:
mkdir -p /xlxd
cp -f $(EXECUTABLE) /xlxd/
[ -f /xlxd/xlxd.blacklist ] && \
cp ../config/xlxd.blacklist /xlxd/xlxd.blacklist.sample || \
cp ../config/xlxd.blacklist /xlxd/xlxd.blacklist
[ -f /xlxd/xlxd.whitelist ] && \
cp ../config/xlxd.whitelist /xlxd/xlxd.whitelist.sample || \
cp ../config/xlxd.whitelist /xlxd/xlxd.whitelist
[ -f /xlxd/xlxd.interlink ] && \
cp ../config/xlxd.interlink /xlxd/xlxd.interlink.sample || \
cp ../config/xlxd.interlink /xlxd/xlxd.interlink
[ -f /xlxd/xlxd.terminal ] && \
cp ../config/xlxd.terminal /xlxd/xlxd.terminal.sample || \
cp ../config/xlxd.terminal /xlxd/xlxd.terminal
$(INSTALL) -d $(DESTDIR)$(sbin_dir)
$(INSTALL_PROGRAM) $(EXECUTABLE) $(DESTDIR)$(sbin_dir)/$(EXECUTABLE)
$(INSTALL) -d $(DESTDIR)$(sysconf_dir)
[ -f $(DESTDIR)$(sysconf_dir)/xlxd.blacklist ] && \
$(INSTALL_DATA) ../config/xlxd.blacklist $(DESTDIR)$(sysconf_dir)/xlxd.blacklist.sample || \
$(INSTALL_DATA) ../config/xlxd.blacklist $(DESTDIR)$(sysconf_dir)/xlxd.blacklist
[ -f $(DESTDIR)$(sysconf_dir)/xlxd.whitelist ] && \
$(INSTALL_DATA) ../config/xlxd.whitelist $(DESTDIR)$(sysconf_dir)/xlxd.whitelist.sample || \
$(INSTALL_DATA) ../config/xlxd.whitelist $(DESTDIR)$(sysconf_dir)/xlxd.whitelist
[ -f $(DESTDIR)$(sysconf_dir)/xlxd.interlink ] && \
$(INSTALL_DATA) ../config/xlxd.interlink $(DESTDIR)$(sysconf_dir)/xlxd.interlink.sample || \
$(INSTALL_DATA) ../config/xlxd.interlink $(DESTDIR)$(sysconf_dir)/xlxd.interlink
[ -f $(DESTDIR)$(sysconf_dir)/xlxd.terminal ] && \
$(INSTALL_DATA) ../config/xlxd.terminal $(DESTDIR)$(sysconf_dir)/xlxd.terminal.sample || \
$(INSTALL_DATA) ../config/xlxd.terminal $(DESTDIR)$(sysconf_dir)/xlxd.terminal