2 # Makefile template for rlfe
4 # See machine dependant config.h for more configuration options.
12 # Where to install screen.
15 exec_prefix = @exec_prefix@
17 # don't forget to change mandir and infodir in doc/Makefile.
18 bindir = $(exec_prefix)/bin
21 SCREEN = screen-$(VERSION)
26 #LDFLAGS = -L$(READLINE_DIR)
28 LIBS = -lreadline -lhistory -lncurses @LIBS@
34 INSTALL_PROGRAM = @INSTALL_PROGRAM@
35 INSTALL_DATA = @INSTALL_DATA@
45 HFILES= extern.h os.h screen.h
46 EXTRA_DIST=configure.in configure Makefile.in config.h.in ChangeLog README
52 $(CC) $(LDFLAGS) -o $@ $(OFILES) $(LIBS)
54 rlfe-$(VERSION).tar.gz:
55 tar czf $@ $(CFILES) $(HFILES) $(EXTRA_DIST)
58 $(CC) -c -I. -I$(srcdir) $(M_CFLAGS) $(DEFS) $(OPTIONS) $(CFLAGS) $<
60 install_bin: .version screen
61 -if [ -f $(DESTDIR)$(bindir)/$(SCREEN) ] && [ ! -f $(DESTDIR)$(bindir)/$(SCREEN).old ]; \
62 then mv $(DESTDIR)$(bindir)/$(SCREEN) $(DESTDIR)$(bindir)/$(SCREEN).old; fi
63 $(INSTALL_PROGRAM) screen $(DESTDIR)$(bindir)/$(SCREEN)
64 -chown root $(DESTDIR)$(bindir)/$(SCREEN) && chmod 4755 $(DESTDIR)$(bindir)/$(SCREEN)
65 # This doesn't work if $(bindir)/screen is a symlink
66 -if [ -f $(DESTDIR)$(bindir)/screen ] && [ ! -f $(DESTDIR)$(bindir)/screen.old ]; then mv $(DESTDIR)$(bindir)/screen $(DESTDIR)$(bindir)/screen.old; fi
67 rm -f $(DESTDIR)$(bindir)/screen
68 (cd $(DESTDIR)$(bindir) && ln -sf $(SCREEN) screen)
69 cp $(srcdir)/utf8encodings/?? $(DESTDIR)$(SCREENENCODINGS)
73 rm -f $(DESTDIR)$(bindir)/$(SCREEN)
74 rm -f $(DESTDIR)$(bindir)/screen
75 -mv $(DESTDIR)$(bindir)/screen.old $(DESTDIR)$(bindir)/screen
76 rm -f $(DESTDIR)$(ETCSCREENRC)
77 cd doc; $(MAKE) uninstall
81 cd shadow; ln -s ../*.[ch] ../*.in ../*.sh ../configure ../doc ../terminfo ../etc .
82 rm -f shadow/term.h shadow/tty.c shadow/comm.h shadow/osdef.h
83 echo "install all Makefiles and config:" > shadow/Makefile
84 echo " rm -f config.cache" >> shadow/Makefile
85 echo " sh ./configure" >> shadow/Makefile
87 term.h: term.c term.sh
88 AWK=$(AWK) srcdir=$(srcdir) sh $(srcdir)/term.sh
93 sh $(srcdir)/tty.sh tty.c
96 rm -f $(OFILES) rlfe *.o
98 clean celan: mostlyclean
99 rm -f tty.c term.h comm.h osdef.h kmapdef.c core
101 # Delete all files from the current directory that are created by
102 # configuring or building the program.
103 # building of term.h/comm.h requires awk. Keep it in the distribution
104 # we keep config.h, as this file knows where 'make dist' finds the ETCSCREENRC.
105 #distclean: mostlyclean
106 # rm -f $(SCREEN).tar $(SCREEN).tar.gz
107 # rm -f config.status Makefile
108 # rm -f osdef.h doc/Makefile
111 @echo "This command is not even intended for maintainers to use;"
112 @echo "it deletes files that may require special tools to rebuild."
115 # Delete everything from the current directory that can be
116 # reconstructed with this Makefile.
117 realclean: .version mostlyclean
118 rm -f $(SCREEN).tar $(SCREEN).tar.gz
119 rm -f config.status Makefile doc/Makefile
120 rm -f tty.c term.h comm.h osdef.h kmapdef.c
122 echo "install all Makefiles and config:" > Makefile
123 echo " sh ./configure" >> Makefile
126 -ctags *.sh $(CFILES) *.h
127 -ctags -e *.sh $(CFILES) *.h
129 dist: .version $(SCREEN).tar.gz
132 # Perform self-tests (if any).
140 ###############################################################################
143 @rev=`sed < $(srcdir)/patchlevel.h -n -e '/#define REV/s/#define REV *//p'`; \
144 vers=`sed < $(srcdir)/patchlevel.h -n -e '/#define VERS/s/#define VERS *//p'`; \
145 pat=`sed < $(srcdir)/patchlevel.h -n -e '/#define PATCHLEVEL/s/#define PATCHLEVEL *//p'`; \
146 if [ "$${rev}.$${vers}.$${pat}" != "$(VERSION)" ]; then \
147 echo "This distribution is screen-$${rev}.$${vers}.$${pat}, but"; \
148 echo "the Makefile is from $(VERSION). Please update!"; exit 1; fi
150 ###############################################################################
152 mdepend: $(CFILES) term.h
154 for i in ${CFILES} ; do \
156 echo `echo "$$i" | sed -e 's/.c$$/.o/'`": $$i" `\
158 grep '^# .*"\./.*\.h"' |\
159 (sort -t'"' -u -k 2,2 2>/dev/null || sort -t'"' -u +1 -2) |\
160 sed -e 's/.*"\.\/\(.*\)".*/\1/'\
165 ./config.status || ./configure
167 depend.in: $(CFILES) term.h
168 cp Makefile.in Makefile.in~
169 sed -e '/\#\#\# Dependencies/q' < Makefile.in > tmp_make
170 for i in $(CFILES); do echo $$i; $(CPP_DEPEND) $$i >> tmp_make; done
171 mv tmp_make Makefile.in
173 ###############################################################################
176 pty.o: pty.c config.h