aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--Makefile46
-rw-r--r--Makefile.orig84
3 files changed, 108 insertions, 23 deletions
diff --git a/.gitignore b/.gitignore
index f3ab545..5ff5b5c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@ patches/
*.patch
demo
demo*
+core*
diff --git a/Makefile b/Makefile
index adacc56..fb247c1 100644
--- a/Makefile
+++ b/Makefile
@@ -14,9 +14,9 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
-.PHONY: default debug install defconfig clean
+.PHONY: default debug install defconfig rmconfig clean uninstall
-CC ?= clang
+CC ?= cc
RM = rm -f
PREFIX ?= /usr/local
OBJDIR = obj
@@ -27,24 +27,24 @@ CFLAGS += $(shell pkg-config --cflags luajit) -I./include -Wno-format-truncatio
# pretty print for compilation. To enable verbose (show commands), run with
# `make V=1`
ifeq ($(strip $(V)),)
- E = @echo
+ E = echo
Q = @
else
- E = @\#
+ E = :
Q =
endif
default: pkgit
pkgit: $(OBJS)
- $(E) " LINK " $@
- $(Q) ${CC} -o $@ $^ $(shell pkg-config --libs luajit) $(shell pkg-config --libs libgit2) $(LDFLAGS) -g
+ $(Q) echo " LINK " $@
+ $(Q) ${CC} -o $@ $^ $(shell pkg-config --libs luajit) $(LDFLAGS) -g
$(OBJDIR):
@mkdir -p $(OBJDIR)
$(OBJDIR)/%.o: src/%.c | $(OBJDIR)
- $(E) " CC " $@
+ $(Q) echo " CC " $@
$(Q) ${CC} $(CFLAGS) -c -o $@ $<
gdb: CFLAGS += -g -O0 -Wall -Wextra -Werror -Wvla -pedantic
@@ -55,30 +55,30 @@ debug: LDFLAGS += -fsanitize=address
debug: pkgit
install: pkgit
- $(E) " INSTALL" ${DESTDIR}${PREFIX}
+ $(Q) echo " INSTALL " ${DESTDIR}${PREFIX}
$(Q) install -d ${DESTDIR}${PREFIX}/bin
$(Q) install -m 755 pkgit ${DESTDIR}${PREFIX}/bin/pkgit
$(Q) install -d ${DESTDIR}${PREFIX}/share/man/man1
$(Q) install -m 644 docs/pkgit.1 ${DESTDIR}${PREFIX}/share/man/man1/pkgit.1
-uninstall: ${DESTDIR}${PREFIX}/bin/pkgit
- $(E) " UNINSTALL" ${DESTDIR}${PREFIX}
+uninstall:
+ $(Q) echo " UNINSTALL " ${DESTDIR}${PREFIX}
$(Q) ${RM} ${DESTDIR}${PREFIX}/bin/pkgit
$(Q) ${RM} ${DESTDIR}${PREFIX}/share/man/man1/pkgit.1
-
+
defconfig:
- $(Q) @if [ "$$(id -u)" -eq 0 ]; then dir=/etc/pkgit; else dir=~/.config/pkgit; fi; \
- $(Q) echo "installing default config to $$dir ..."; \
- $(Q) mkdir -p $$dir; \
- $(Q) cp -r ./config/* $$dir/; \
- $(Q) echo "default config installed"
-
+ $(Q) if [ "$$(id -u)" -eq 0 ]; then dir=/etc/pkgit; else dir="$$HOME/.config/pkgit"; fi; \
+ echo "installing default config to $$dir ..."; \
+ mkdir -p "$$dir"; \
+ cp -r ./config/* "$$dir/"; \
+ echo "default config installed"
+
rmconfig:
- $(Q) @if [ "$$(id -u)" -eq 0 ]; then dir=/etc/pkgit; else dir=~/.config/pkgit; fi; \
- $(Q) echo "removing config from $$dir ..."; \
- $(Q) rm -rf $$dir; \
- $(Q) echo "config successfully removed"
-
+ $(Q) if [ "$$(id -u)" -eq 0 ]; then dir=/etc/pkgit; else dir="$$HOME/.config/pkgit"; fi; \
+ echo "removing config from $$dir ..."; \
+ rm -rf "$$dir"; \
+ echo "config successfully removed"
+
clean:
- $(E) " CLEAN"
+ $(Q) echo " CLEAN"
$(Q) ${RM} -r $(OBJDIR) pkgit
diff --git a/Makefile.orig b/Makefile.orig
new file mode 100644
index 0000000..adacc56
--- /dev/null
+++ b/Makefile.orig
@@ -0,0 +1,84 @@
+# pkgit - package it!
+
+# Copyright (C) 2026 dacctal
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+.PHONY: default debug install defconfig clean
+
+CC ?= clang
+RM = rm -f
+PREFIX ?= /usr/local
+OBJDIR = obj
+SRCS = $(wildcard src/*.c)
+OBJS = $(SRCS:src/%.c=$(OBJDIR)/%.o)
+CFLAGS += $(shell pkg-config --cflags luajit) -I./include -Wno-format-truncation -std=c99
+
+# pretty print for compilation. To enable verbose (show commands), run with
+# `make V=1`
+ifeq ($(strip $(V)),)
+ E = @echo
+ Q = @
+else
+ E = @\#
+ Q =
+endif
+
+default: pkgit
+
+pkgit: $(OBJS)
+ $(E) " LINK " $@
+ $(Q) ${CC} -o $@ $^ $(shell pkg-config --libs luajit) $(shell pkg-config --libs libgit2) $(LDFLAGS) -g
+
+$(OBJDIR):
+ @mkdir -p $(OBJDIR)
+
+$(OBJDIR)/%.o: src/%.c | $(OBJDIR)
+ $(E) " CC " $@
+ $(Q) ${CC} $(CFLAGS) -c -o $@ $<
+
+gdb: CFLAGS += -g -O0 -Wall -Wextra -Werror -Wvla -pedantic
+gdb: pkgit
+
+debug: CFLAGS += -g -O0 -Wall -Wextra -Werror -Wvla -pedantic -fsanitize=address
+debug: LDFLAGS += -fsanitize=address
+debug: pkgit
+
+install: pkgit
+ $(E) " INSTALL" ${DESTDIR}${PREFIX}
+ $(Q) install -d ${DESTDIR}${PREFIX}/bin
+ $(Q) install -m 755 pkgit ${DESTDIR}${PREFIX}/bin/pkgit
+ $(Q) install -d ${DESTDIR}${PREFIX}/share/man/man1
+ $(Q) install -m 644 docs/pkgit.1 ${DESTDIR}${PREFIX}/share/man/man1/pkgit.1
+
+uninstall: ${DESTDIR}${PREFIX}/bin/pkgit
+ $(E) " UNINSTALL" ${DESTDIR}${PREFIX}
+ $(Q) ${RM} ${DESTDIR}${PREFIX}/bin/pkgit
+ $(Q) ${RM} ${DESTDIR}${PREFIX}/share/man/man1/pkgit.1
+
+defconfig:
+ $(Q) @if [ "$$(id -u)" -eq 0 ]; then dir=/etc/pkgit; else dir=~/.config/pkgit; fi; \
+ $(Q) echo "installing default config to $$dir ..."; \
+ $(Q) mkdir -p $$dir; \
+ $(Q) cp -r ./config/* $$dir/; \
+ $(Q) echo "default config installed"
+
+rmconfig:
+ $(Q) @if [ "$$(id -u)" -eq 0 ]; then dir=/etc/pkgit; else dir=~/.config/pkgit; fi; \
+ $(Q) echo "removing config from $$dir ..."; \
+ $(Q) rm -rf $$dir; \
+ $(Q) echo "config successfully removed"
+
+clean:
+ $(E) " CLEAN"
+ $(Q) ${RM} -r $(OBJDIR) pkgit