74 lines
2.4 KiB
Makefile
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
|