X-Git-Url: https://git.xinqibao.xyz/st.git/blobdiff_plain/e0d0a2b96e84bba95f6f3e274131e3bbfb3a4f56..e8392b282c2eaa28725241a9612804fb55113da4:/Makefile

diff --git a/Makefile b/Makefile
index 0f74456..470ac86 100644
--- a/Makefile
+++ b/Makefile
@@ -1,45 +1,57 @@
 # 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 config.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