X-Git-Url: https://git.xinqibao.xyz/st.git/blobdiff_plain/b3902ca1782515ee8b9cd38af10e51bc3ba2fc98..30683c70ab62fd37b5921cf72077b9aef2cb842e:/Makefile

diff --git a/Makefile b/Makefile
index 72154e9..c678ead 100644
--- a/Makefile
+++ b/Makefile
@@ -1,64 +1,55 @@
 # st - simple terminal
 # See LICENSE file for copyright and license details.
+.POSIX:
 
 include config.mk
 
-SRC = st.c std.c pty.c
-OBJ = ${SRC:.c=.o}
+SRC = st.c x.c
+OBJ = $(SRC:.c=.o)
 
-all: options st std
+all: options st
 
 options:
 	@echo st build options:
-	@echo "CFLAGS     = ${CFLAGS}"
-	@echo "LDFLAGS    = ${LDFLAGS}"
-	@echo "X11LDFLAGS = ${X11LDFLAGS}"
-	@echo "CC         = ${CC}"
+	@echo "CFLAGS  = $(STCFLAGS)"
+	@echo "LDFLAGS = $(STLDFLAGS)"
+	@echo "CC      = $(CC)"
+
+config.h:
+	cp config.def.h config.h
 
 .c.o:
-	@echo CC $<
-	@${CC} -c ${CFLAGS} $<
+	$(CC) $(STCFLAGS) -c $<
 
-${OBJ}: config.mk
+st.o: config.h st.h win.h
+x.o: arg.h st.h win.h
 
-st: st.o
-	@echo CC -o $@
-	@${CC} -o $@ $^ ${LDFLAGS} ${X11LDFLAGS}
+$(OBJ): config.h config.mk
 
-std: std.o pty.o
-	@echo CC -o $@
-	@${CC} -o $@ $^ ${LDFLAGS}
+st: $(OBJ)
+	$(CC) -o $@ $(OBJ) $(STLDFLAGS)
 
 clean:
-	@echo cleaning
-	@rm -f st std ${OBJ} st-${VERSION}.tar.gz
+	rm -f st $(OBJ) st-$(VERSION).tar.gz
 
 dist: clean
-	@echo creating dist tarball
-	@mkdir -p st-${VERSION}
-	@cp -R LICENSE Makefile README config.mk \
-		st.1 ${SRC} st-${VERSION}
-	@tar -cf st-${VERSION}.tar st-${VERSION}
-	@gzip st-${VERSION}.tar
-	@rm -rf st-${VERSION}
-
-install: all
-	@echo installing executable file to ${DESTDIR}${PREFIX}/bin
-	@mkdir -p ${DESTDIR}${PREFIX}/bin
-	@cp -f st ${DESTDIR}${PREFIX}/bin
-	@cp -f std ${DESTDIR}${PREFIX}/bin
-	@chmod 755 ${DESTDIR}${PREFIX}/bin/st
-	@echo installing manual page to ${DESTDIR}${MANPREFIX}/man1
-	@mkdir -p ${DESTDIR}${MANPREFIX}/man1
-	@sed "s/VERSION/${VERSION}/g" < st.1 > ${DESTDIR}${MANPREFIX}/man1/st.1
-	@chmod 644 ${DESTDIR}${MANPREFIX}/man1/st.1
-	@sed "s/VERSION/${VERSION}/g" < std.1 > ${DESTDIR}${MANPREFIX}/man1/std.1
-	@chmod 644 ${DESTDIR}${MANPREFIX}/man1/std.1
+	mkdir -p st-$(VERSION)
+	cp -R LICENSE Makefile README config.mk config.def.h st.info st.1 arg.h $(SRC) st-$(VERSION)
+	tar -cf - st-$(VERSION) | gzip > st-$(VERSION).tar.gz
+	rm -rf st-$(VERSION)
+
+install: st
+	mkdir -p $(DESTDIR)$(PREFIX)/bin
+	cp -f st $(DESTDIR)$(PREFIX)/bin
+	chmod 755 $(DESTDIR)$(PREFIX)/bin/st
+	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:
-	@echo removing executable file from ${DESTDIR}${PREFIX}/bin
-	@rm -f ${DESTDIR}${PREFIX}/bin/st
-	@echo removing manual page from ${DESTDIR}${MANPREFIX}/man1
-	@rm -f ${DESTDIR}${MANPREFIX}/man1/st.1
+	rm -f $(DESTDIR)$(PREFIX)/bin/st
+	rm -f $(DESTDIR)$(MANPREFIX)/man1/st.1
 
 .PHONY: all options clean dist install uninstall