CXX = g++ CXX_FLAGS = -Wall -std=c++14 -lpthread -s BUILDDIR = ./build/ SRC_SERVER = ./src/server.cpp SRC_CLIENT = ./src/client.cpp DESTDIR = /usr/local/bin/ GREEN = \033[0;32m YELLOW = \033[0;33m RESET = \033[0m RED = \033[0;31m DEBVERSION = 1.0.1 ARCH = amd64 DEBPACKAGENAME = udpchat-$(DEBVERSION)-1_$(ARCH) build: @if [ ! -d ${BUILDDIR} ]; then \ mkdir ${BUILDDIR}; \ fi @echo -e "$(GREEN)[ $(YELLOW)25% $(GREEN)] $(RESET)CC SERVER" @$(CXX) -o $(BUILDDIR)server $(SRC_SERVER) $(CXX_FLAGS) @echo -e "$(GREEN)[ $(YELLOW)50% $(GREEN)] $(RESET)CC CLIENT" @$(CXX) -o $(BUILDDIR)client $(SRC_CLIENT) $(CXX_FLAGS) @echo -e "$(GREEN)[ $(YELLOW)75% $(GREEN)] $(RESET)STRIP SERVER" @strip $(BUILDDIR)server >> /dev/null @echo -e "$(GREEN)[ $(YELLOW)100% $(GREEN)] $(RESET)STRIP CLIENT" @strip $(BUILDDIR)client >> /dev/null @echo -e "$(GREEN)BUILD SUCCESS$(RESET)" clean: @if [ -d ${BUILDDIR} ]; then \ rm -rv ${BUILDDIR}; \ fi runserver: @$(BUILDDIR)server 127.0.0.1 43243 runclient: @$(BUILDDIR)client 127.0.0.1 43243 install: @if [ ! -d ${DESTDIR} ]; then \ mkdir -p $(DESTDIR); \ fi @echo -e "$(GREEN)[ $(YELLOW)50% $(GREEN)] $(RESET)INSTALL SERVER" @cp -rf $(BUILDDIR)server $(DESTDIR)udpchatserver @echo -e "$(GREEN)[ $(YELLOW)100% $(GREEN)] $(RESET)INSTALL CLIENT" @cp -rf $(BUILDDIR)client $(DESTDIR)udpchatclient @echo -e "$(GREEN)INSTALL SUCCESS$(RESET)" debpkg: @echo -e "$(GREEN)[ $(YELLOW)15% $(GREEN)] $(RESET)CREATE PACKAGE DIRECTORIES" @rm -rf $(DEBPACKAGENAME) @mkdir -p $(DEBPACKAGENAME)/usr/local/bin @echo -e "$(GREEN)[ $(YELLOW)45% $(GREEN)] $(RESET)COPY PACKAGE FILES" @cp -rf $(BUILDDIR)server $(DEBPACKAGENAME)/usr/local/bin/udpchatserver @cp -rf $(BUILDDIR)client $(DEBPACKAGENAME)/usr/local/bin/udpchatclient @echo -e "$(GREEN)[ $(YELLOW)75% $(GREEN)] $(RESET)CREATE PACKAGE METADATA" @mkdir $(DEBPACKAGENAME)/DEBIAN @touch $(DEBPACKAGENAME)/DEBIAN/control @echo -e "$(GREEN)[ $(YELLOW)100% $(GREEN)] $(RESET)CREATE PACKAGE" @echo -e "Package: udpchat\nVersion: 1.0.1\nArchitecture: $(ARCH)\nMaintainer: Tola Mironcenko \nDescription: This is small chat in terminal" >> $(DEBPACKAGENAME)/DEBIAN/control @dpkg-deb --build --root-owner-group $(DEBPACKAGENAME) @echo -e "$(GREEN)BUILDING DEBIAN PACKAGE SUCCESS$(RESET)" archlinuxpkg: @makepkg -f all: @make build @make debpkg @make archlinuxpkg