From d7634649d83c19c2e0d3abdba687be3ba4b1f36a Mon Sep 17 00:00:00 2001 From: Luca Bilke Date: Fri, 17 May 2024 12:03:44 +0200 Subject: [PATCH] WIP --- Makefile | 68 +++++++++++++++++++---------------- build.sh | 20 ----------- config.h => config/config.h | 0 config.mk => config/config.mk | 0 patches.h => config/patches.h | 0 5 files changed, 37 insertions(+), 51 deletions(-) delete mode 100755 build.sh rename config.h => config/config.h (100%) rename config.mk => config/config.mk (100%) rename patches.h => config/patches.h (100%) diff --git a/Makefile b/Makefile index 9eb2abc..4b61cf1 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,7 @@ # st - simple terminal # See LICENSE file for copyright and license details. +.PHONY: all clean dist install uninstall + .POSIX: include config.mk @@ -7,41 +9,45 @@ include config.mk SRC = st.c x.c $(LIGATURES_C) $(SIXEL_C) OBJ = $(SRC:.c=.o) -all: st +all: st terminfo -config.h: - cp config.def.h config.h - -patches.h: - cp patches.def.h patches.h - -.c.o: - $(CC) $(STCFLAGS) -c $< - -st.o: config.h st.h win.h -x.o: arg.h config.h st.h win.h $(LIGATURES_H) - -$(OBJ): config.h config.mk patches.h - -st: $(OBJ) - $(CC) -o $@ $(OBJ) $(STLDFLAGS) +# TODO: Update command to update submodules clean: - rm -f st $(OBJ) st-$(VERSION).tar.gz + find . -maxdepth 1 -type f | grep -Pv "^\./\.|Makefile$$" | xargs -r rm + ls | grep -v | xargs rm + rm -f st $(OBJ) + git -C st-flexipatch reset --hard HEAD + git -C st-flexipatch clean -fdx -dist: clean - mkdir -p st-$(VERSION) - cp -R FAQ LEGACY TODO LICENSE Makefile README config.mk\ - config.def.h st.info st.1 arg.h st.h win.h $(LIGATURES_H) $(SRC)\ - st-$(VERSION) - tar -cf - st-$(VERSION) | gzip > st-$(VERSION).tar.gz - rm -rf st-$(VERSION) +buildroot: + cp Makefile Makefile.backup + cp config/patches.h st-flexipatch/ + flexipatch-finalizer/flexipatch-finalizer.sh -r -d st-flexipatch -o . + mv Makefile.backup Makefile -terminfo: - mkdir terminfo +config.mk: + cp config/config.mk . + +config.h: + cp config/config.h . + +*.h: buildroot +.c.o: buildroot + $(CC) $(STCFLAGS) -c $< + +st.o: config.h st.h win.h buildroot +x.o: arg.h config.h st.h win.h $(LIGATURES_H) buildroot + +$(OBJ): config.h config.mk buildroot + +st: buildroot $(OBJ) + $(CC) -o $@ $(OBJ) $(STLDFLAGS) + +terminfo: buildroot tic -sx -o terminfo st.info -install: st +install: st terminfo mkdir -p $(DESTDIR)$(PREFIX)/bin cp -f st $(DESTDIR)$(PREFIX)/bin chmod 755 $(DESTDIR)$(PREFIX)/bin/st @@ -50,9 +56,11 @@ install: st chmod 644 $(DESTDIR)$(MANPREFIX)/man1/st.1 mkdir -p $(DESTDIR)$(PREFIX)/share cp -a terminfo $(DESTDIR)$(PREFIX)/share/terminfo + chmod 755 $(DESTDIR)$(PREFIX)/share/terminfo/s + chmod 644 $(DESTDIR)$(PREFIX)/share/terminfo/st-* # mkdir -p $(DESTDIR)$(PREFIX)/share/applications # desktop-entry patch # test -f ${DESTDIR}${PREFIX}/share/applications/st.desktop || cp -n st.desktop $(DESTDIR)$(PREFIX)/share/applications # desktop-entry patch - + uninstall: rm -f $(DESTDIR)$(PREFIX)/bin/st rm -f $(DESTDIR)$(MANPREFIX)/man1/st.1 @@ -64,5 +72,3 @@ uninstall: rm -f $(DESTDIR)$(PREFIX)/share/terminfo/s/st-meta rm -f $(DESTDIR)$(PREFIX)/share/terminfo/s/st-meta-256color rm -f $(DESTDIR)$(PREFIX)/share/terminfo/s/st-mono - -.PHONY: all clean dist install uninstall diff --git a/build.sh b/build.sh deleted file mode 100755 index 4052d2b..0000000 --- a/build.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -cp -f config.mk Makefile patches.h st-flexipatch/ -flexipatch-finalizer/flexipatch-finalizer.sh -r -d st-flexipatch -o st-final -git -C st-flexipatch reset --hard HEAD && git -C st-flexipatch clean -fd -for patch in patches/*.diff; do - patch -d st-final <"$patch" -done -cp -f config.h st-final/ -cd st-final || exit 1 - -if [ "$1" = "-i" ]; then - sudo make install -elif [ "$1" = "-ti" ]; then - mkdir -p /usr/local/share/terminfo/s/ - make terminfo - cp -a terminfo/s/* /usr/local/share/terminfo/s/ -else - make -fi diff --git a/config.h b/config/config.h similarity index 100% rename from config.h rename to config/config.h diff --git a/config.mk b/config/config.mk similarity index 100% rename from config.mk rename to config/config.mk diff --git a/patches.h b/config/patches.h similarity index 100% rename from patches.h rename to config/patches.h