spmenu/Makefile

89 lines
2.6 KiB
Makefile
Raw Normal View History

2023-01-20 23:17:30 +01:00
# spmenu
# See LICENSE file for copyright and license details.
include options.mk
include host.mk
include toggle.mk
SRC = libs/sl/draw.c spmenu.c libs/sl/main.c
2023-01-20 23:17:30 +01:00
OBJ = $(SRC:.c=.o)
all: options spmenu
options:
@echo spmenu build options:
@echo "CFLAGS = $(CFLAGS)"
@echo "LDFLAGS = $(LDFLAGS)"
@echo "CC = $(CC)"
.c.o:
$(CC) -c $(CFLAGS) -g $<
2023-03-06 16:08:31 +01:00
$(OBJ): options.h options.mk libs/sl/draw.h
2023-01-20 23:17:30 +01:00
spmenu: spmenu.o libs/sl/draw.o libs/sl/main.o
2023-01-20 23:17:30 +01:00
$(CC) -o $@ spmenu.o draw.o main.o $(LDFLAGS)
clean:
rm -f spmenu $(OBJ) spmenu-$(VERSION).tar.gz
dist: clean
mkdir -p spmenu-$(VERSION)
cp -rf LICENSE Makefile *.h *.mk *.c scripts/ docs/ libs/ spmenu-$(VERSION)
2023-02-26 15:37:09 +01:00
[ -f spmenu.1 ] && cp spmenu.1 spmenu-$(VERSION) || :
2023-01-20 23:17:30 +01:00
tar -cf spmenu-$(VERSION).tar spmenu-$(VERSION)
gzip spmenu-$(VERSION).tar
rm -rf spmenu-$(VERSION)
install: all
rm -rf $(DESTDIR)$(PREFIX)/share/spmenu/
2023-01-20 23:17:30 +01:00
mkdir -p $(DESTDIR)$(PREFIX)/bin
mkdir -p $(DESTDIR)$(PREFIX)/share/spmenu
cp -rf docs/* $(DESTDIR)$(PREFIX)/share/spmenu/
echo "${VERSION}" > $(DESTDIR)$(PREFIX)/share/spmenu/version
2023-01-20 23:28:33 +01:00
cp -rf spmenu scripts/* $(DESTDIR)$(PREFIX)/bin
2023-02-26 15:37:09 +01:00
[ -f spmenu.1 ] && mkdir -p ${DESTDIR}${MANPREFIX}/man1 || :
[ -f spmenu.1 ] && cp spmenu.1 ${DESTDIR}${MANPREFIX}/man1/spmenu.1 || :
2023-01-20 23:17:30 +01:00
chmod 755 $(DESTDIR)$(PREFIX)/bin/spmenu*
rm -f *.o
rm -f spmenu
2023-02-01 21:48:52 +01:00
compat:
rm -f $(DESTDIR)$(PREFIX)/bin/dmenu
rm -f $(DESTDIR)$(PREFIX)/bin/dmenu_run
ln -s $(DESTDIR)$(PREFIX)/bin/spmenu $(DESTDIR)$(PREFIX)/bin/dmenu
ln -s $(DESTDIR)$(PREFIX)/bin/spmenu_run $(DESTDIR)$(PREFIX)/bin/dmenu_run
2023-01-20 23:17:30 +01:00
uninstall:
$(DESTDIR)$(PREFIX)/bin/spmenu*\
help:
@echo install: Installs spmenu. You may need to run this as root.
@echo uninstall: Uninstalls spmenu. You may need to run this as root.
2023-02-01 21:48:52 +01:00
@echo dist: Creates a release for spmenu.
@echo clean: Removes objects and tarballs.
2023-02-26 15:37:09 +01:00
@echo man: Generate man page for spmenu
2023-02-01 21:48:52 +01:00
@echo compat: Installs compatibility with dmenu. WARNING: This will overwrite dmenu and dmenu_run
@echo pkg_arch: Creates an Arch package based on the PKGBUILD
2023-01-20 23:17:30 +01:00
@echo help: Displays this help sheet.
2023-02-26 15:37:09 +01:00
man:
printf "%% spmenu(1) $(VERSION) | dynamic menu\n" > .man.md
grep -v docs/preview.png docs/docs.md >> .man.md
pandoc --standalone --to man .man.md -o spmenu.1
rm -f .man.md
pkg_arch: dist
command -v makepkg > /dev/null || exit 1
[ -f PKGBUILD ] && mkdir -p source && cp PKGBUILD *.tar.gz source/ || exit 1
cd source/
@SUM=$$(md5sum *.tar.gz | awk '{ print $1 }')
sed -i "s/VERSION/$(VERSION)/g; s/MD5SUM/$${SUM}/g" PKGBUILD
makepkg -sfr --sign && cp *zst* ../
cd ..
rm -rf source/
.PHONY: all options clean dist install uninstall pkg_arch help man