# st - simple terminal
# See LICENSE file for copyright and license details.
+.POSIX:
-VERSION = 0.0
+include config.mk
-PREFIX = /usr/local
-MANDIR = $(PREFIX)/share/man
+SRC = st.c x.c
+OBJ = $(SRC:.c=.o)
-CFLAGS = -DVERSION=\"0.0\" -D_GNU_SOURCE
+all: options st
-all: st std
+options:
+ @echo st build options:
+ @echo "CFLAGS = $(STCFLAGS)"
+ @echo "LDFLAGS = $(STLDFLAGS)"
+ @echo "CC = $(CC)"
+
+config.h:
+ cp config.def.h config.h
+
+.c.o:
+ $(CC) $(STCFLAGS) -c $<
+
+st.o: config.h st.h win.h
+x.o: arg.h st.h win.h
+
+$(OBJ): config.h config.mk
+
+st: $(OBJ)
+ $(CC) -o $@ $(OBJ) $(STLDFLAGS)
clean:
- rm -f st std
- rm -f st.o std.o
- rm -f st-$(VERSION).tar.gz
+ rm -f st $(OBJ) st-$(VERSION).tar.gz
dist: clean
- mkdir st-$(VERSION)
- cp -f LICENSE README st-$(VERSION)
- cp -f Makefile config.mk st-$(VERSION)
- cp -f st.1 std.1 st-$(VERSION)
- cp -f st.c std.c st-$(VERSION)
- tar -czf st-$(VERSION).tar st-$(VERSION)
+ 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 $(SRC)\
+ st-$(VERSION)
+ tar -cf - st-$(VERSION) | gzip > st-$(VERSION).tar.gz
rm -rf st-$(VERSION)
-install:
+install: st
mkdir -p $(DESTDIR)$(PREFIX)/bin
cp -f st $(DESTDIR)$(PREFIX)/bin
- cp -f std $(DESTDIR)$(PREFIX)/bin
chmod 755 $(DESTDIR)$(PREFIX)/bin/st
- chmod 755 $(DESTDIR)$(PREFIX)/bin/std
- mkdir -p $(DESTDIR)$(MANDIR)/man1
- sed 's/VERSION/$(VERSION)/g' < st.1 > $(DESTDIR)$(MANDIR)/man1/st.1
- chmod 644 $(DESTDIR)$(MANDIR)/man1/st.1
- sed 's/VERSION/$(VERSION)/g' < std.1 > $(DESTDIR)$(MANDIR)/man1/std.1
- chmod 644 $(DESTDIR)$(MANDIR)/man1/std.1
+ mkdir -p $(DESTDIR)$(MANPREFIX)/man1
+ sed "s/VERSION/$(VERSION)/g" < st.1 > $(DESTDIR)$(MANPREFIX)/man1/st.1
+ chmod 644 $(DESTDIR)$(MANPREFIX)/man1/st.1
+ tic -sx st.info
+ @echo Please see the README file regarding the terminfo entry of st.
uninstall:
rm -f $(DESTDIR)$(PREFIX)/bin/st
- rm -f $(DESTDIR)$(PREFIX)/bin/std
- rm -f $(DESTDIR)$(MANDIR)/man1/st.1
- rm -f $(DESTDIR)$(MANDIR)/man1/std.1
+ rm -f $(DESTDIR)$(MANPREFIX)/man1/st.1
-.PHONY: all clean dist install uninstall
+.PHONY: all options clean dist install uninstall