CC = gcc CFLAGS = -Wall -std=c17 OUT = pwdgen SRC = src/*.c BUILDDIR=build DESTDIR = /usr/local/bin DEBVERSION = 1.0 ARCH = amd64 DEBPACKAGENAME = pwdgen-$(DEBVERSION)-1_$(ARCH) build: @if [ ! -d ${BUILDDIR} ]; then \ mkdir -pv ${BUILDDIR}; \ fi @$(CC) $(CFLAGS) $(SRC) -o ${BUILDDIR}/$(OUT) all: @make clean @make build @make run run: @./${BUILDDIR}/$(OUT) clean: @if [ -d ${BUILDDIR} ]; then \ rm -rv ${BUILDDIR}; \ fi install: @if [ ! -d ${DESTDIR} ]; then \ mkdir -pv ${DESTDIR}; \ fi @cp -rf ${BUILDDIR}/$(OUT) $(DESTDIR) 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)/pwdgen $(DEBPACKAGENAME)/usr/local/bin/pwdgen @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: pwdgen\nVersion: $(DEBVERSION)\nArchitecture: $(ARCH)\nMaintainer: Tola Mironcenko \nDescription: Password generator\n" >> $(DEBPACKAGENAME)/DEBIAN/control @dpkg-deb --build --root-owner-group $(DEBPACKAGENAME) @printf "$(GREEN)BUILDING DEBIAN PACKAGE SUCCESS$(RESET)\n"