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++ ALL_CXXFLAGS=-std=c++11 -pthread $(CXXFLAGS)
CFLAGS=-c -std=c++11 -pthread
LDFLAGS=-std=c++11 -pthread
SOURCES=$(wildcard *.cpp) SOURCES=$(wildcard *.cpp)
OBJECTS=$(SOURCES:.cpp=.o) OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=xlxd 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) $(EXECUTABLE): $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) -o $@ $(CXX) $(CPPFLAGS) $(ALL_CXXFLAGS) $(OBJECTS) -o $@
.cpp.o: .cpp.o: %.h
$(CC) $(CFLAGS) $< -o $@ $(CXX) -c $(CPPFLAGS) $(ALL_CXXFLAGS) $<
.PHONY: clean
clean: clean:
$(RM) $(EXECUTABLE) *.o $(RM) $(EXECUTABLE) *.o
.PHONY: install
install: install:
mkdir -p /xlxd $(INSTALL) -d $(DESTDIR)$(sbin_dir)
cp -f $(EXECUTABLE) /xlxd/ $(INSTALL_PROGRAM) $(EXECUTABLE) $(DESTDIR)$(sbin_dir)/$(EXECUTABLE)
[ -f /xlxd/xlxd.blacklist ] && \ $(INSTALL) -d $(DESTDIR)$(sysconf_dir)
cp ../config/xlxd.blacklist /xlxd/xlxd.blacklist.sample || \ [ -f $(DESTDIR)$(sysconf_dir)/xlxd.blacklist ] && \
cp ../config/xlxd.blacklist /xlxd/xlxd.blacklist $(INSTALL_DATA) ../config/xlxd.blacklist $(DESTDIR)$(sysconf_dir)/xlxd.blacklist.sample || \
[ -f /xlxd/xlxd.whitelist ] && \ $(INSTALL_DATA) ../config/xlxd.blacklist $(DESTDIR)$(sysconf_dir)/xlxd.blacklist
cp ../config/xlxd.whitelist /xlxd/xlxd.whitelist.sample || \ [ -f $(DESTDIR)$(sysconf_dir)/xlxd.whitelist ] && \
cp ../config/xlxd.whitelist /xlxd/xlxd.whitelist $(INSTALL_DATA) ../config/xlxd.whitelist $(DESTDIR)$(sysconf_dir)/xlxd.whitelist.sample || \
[ -f /xlxd/xlxd.interlink ] && \ $(INSTALL_DATA) ../config/xlxd.whitelist $(DESTDIR)$(sysconf_dir)/xlxd.whitelist
cp ../config/xlxd.interlink /xlxd/xlxd.interlink.sample || \ [ -f $(DESTDIR)$(sysconf_dir)/xlxd.interlink ] && \
cp ../config/xlxd.interlink /xlxd/xlxd.interlink $(INSTALL_DATA) ../config/xlxd.interlink $(DESTDIR)$(sysconf_dir)/xlxd.interlink.sample || \
[ -f /xlxd/xlxd.terminal ] && \ $(INSTALL_DATA) ../config/xlxd.interlink $(DESTDIR)$(sysconf_dir)/xlxd.interlink
cp ../config/xlxd.terminal /xlxd/xlxd.terminal.sample || \ [ -f $(DESTDIR)$(sysconf_dir)/xlxd.terminal ] && \
cp ../config/xlxd.terminal /xlxd/xlxd.terminal $(INSTALL_DATA) ../config/xlxd.terminal $(DESTDIR)$(sysconf_dir)/xlxd.terminal.sample || \
$(INSTALL_DATA) ../config/xlxd.terminal $(DESTDIR)$(sysconf_dir)/xlxd.terminal