Files
2024-12-26 15:56:51 +07:00

74 lines
2.4 KiB
Makefile

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
@printf "$(GREEN)[ $(YELLOW)25%% $(GREEN)] $(RESET)CC SERVER\n"
@$(CXX) -o $(BUILDDIR)server $(SRC_SERVER) $(CXX_FLAGS)
@printf "$(GREEN)[ $(YELLOW)50%% $(GREEN)] $(RESET)CC CLIENT\n"
@$(CXX) -o $(BUILDDIR)client $(SRC_CLIENT) $(CXX_FLAGS)
@printf "$(GREEN)[ $(YELLOW)75%% $(GREEN)] $(RESET)STRIP SERVER\n"
@strip $(BUILDDIR)server >> /dev/null
@printf "$(GREEN)[ $(YELLOW)100%% $(GREEN)] $(RESET)STRIP CLIENT\n"
@strip $(BUILDDIR)client >> /dev/null
@printf "$(GREEN)BUILD SUCCESS$(RESET)\n"
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
@printf "$(GREEN)[ $(YELLOW)50%% $(GREEN)] $(RESET)INSTALL SERVER\n"
@cp -rf $(BUILDDIR)server $(DESTDIR)udpchatserver
@printf "$(GREEN)[ $(YELLOW)100%% $(GREEN)] $(RESET)INSTALL CLIENT\n"
@cp -rf $(BUILDDIR)client $(DESTDIR)udpchatclient
@printf "$(GREEN)INSTALL SUCCESS$(RESET)\n"
debpkg:
@printf "$(GREEN)[ $(YELLOW)15%% $(GREEN)] $(RESET)CREATE PACKAGE DIRECTORIES\n"
@rm -rf $(DEBPACKAGENAME)
@mkdir -p $(DEBPACKAGENAME)/usr/local/bin
@printf "$(GREEN)[ $(YELLOW)45%% $(GREEN)] $(RESET)COPY PACKAGE FILES\n"
@cp -rf $(BUILDDIR)server $(DEBPACKAGENAME)/usr/local/bin/udpchatserver
@cp -rf $(BUILDDIR)client $(DEBPACKAGENAME)/usr/local/bin/udpchatclient
@printf "$(GREEN)[ $(YELLOW)75%% $(GREEN)] $(RESET)CREATE PACKAGE METADATA\n"
@mkdir $(DEBPACKAGENAME)/DEBIAN
@touch $(DEBPACKAGENAME)/DEBIAN/control
@printf "$(GREEN)[ $(YELLOW)100%% $(GREEN)] $(RESET)CREATE PACKAGE\n"
@printf "Package: udpchat\nVersion: 1.0.1\nArchitecture: $(ARCH)\nMaintainer: Tola Mironcenko <mironcenkotola@gmail.com>\nDescription: This is small chat in terminal\n" >> $(DEBPACKAGENAME)/DEBIAN/control
@dpkg-deb --build --root-owner-group $(DEBPACKAGENAME)
@printf "$(GREEN)BUILDING DEBIAN PACKAGE SUCCESS$(RESET)\n"
archlinuxpkg:
@makepkg -f
all:
@make build
@make debpkg
@make archlinuxpkg