xref: /original-bsd/contrib/emacs-18.57/Makefile (revision 70910e97)
1de429396Shibler# make all	to compile and build Emacs
2de429396Shibler# make install	to install it
3de429396Shibler# make install.sysv  to install on system V.
4de429396Shibler# make install.xenix  to install on Xenix
5de429396Shibler# make tags	to update tags tables
6de429396Shibler#
7de429396Shibler# make distclean	to delete everything that wasn't in the distribution
8de429396Shibler#	This is a very dangerous thing to do!
9de429396Shibler# make clean
10de429396Shibler#       This is a little less dangerous.
11de429396Shibler
12de429396ShiblerSHELL = /bin/sh
13de429396Shibler
14de429396Shibler# Where to install things
15de429396Shibler# Note that on system V you must change MANDIR to /use/local/man/man1.
16a30e2be3ShiblerLIBDIR= /usr/contrib/lib/emacs
17a30e2be3ShiblerBINDIR= /usr/contrib/bin
18*70910e97SbosticMANDIR= /usr/contrib/man/cat1
19a30e2be3ShiblerLOCKDIR= /var/emacs/lock
20de429396Shibler
21de429396Shibler# Flags passed down to subdirectory makefiles.
22de429396ShiblerMFLAGS=
23de429396Shibler
24de429396Shibler# Subdirectories to make recursively.  `lisp' is not included
25de429396Shibler# because the compiled lisp files are part of the distribution
26de429396Shibler# and you cannot remake them without installing Emacs first.
27de429396ShiblerSUBDIR= etc src
28de429396Shibler
29de429396Shibler# Subdirectories to install
30de429396ShiblerCOPYDIR= etc info lisp
31de429396Shibler
32de429396Shibler# Subdirectories to clean
33de429396ShiblerCLEANDIR= ${COPYDIR} lisp/term
34de429396Shibler
35de429396Shiblerall:	src/paths.h ${SUBDIR}
36de429396Shibler
37de429396Shiblersrc/paths.h: Makefile src/paths.h-dist
38a30e2be3Shibler	/usr/bin/sed -e 's;/usr/local/emacs;${LIBDIR};g' \
39a30e2be3Shibler		-e 's;${LIBDIR}/lock;${LOCKDIR};g' \
40a30e2be3Shibler		< src/paths.h-dist > src/paths.h
41de429396Shibler
42de429396Shiblersrc:	etc
43de429396Shibler
44de429396Shibler.RECURSIVE: ${SUBDIR}
45de429396Shibler
46de429396Shibler${SUBDIR}: FRC
47de429396Shibler	cd $@; make ${MFLAGS} all
48de429396Shibler
49de429396Shiblerinstall: all mkdir lockdir
50de429396Shibler	-if [ `/bin/pwd` != `(cd ${LIBDIR}; /bin/pwd)` ] ; then \
51de429396Shibler		tar cf - ${COPYDIR} | (cd ${LIBDIR}; umask 0; tar xBf - ) ;\
52de429396Shibler		for i in ${CLEANDIR}; do \
53de429396Shibler			(rm -rf ${LIBDIR}/$$i/RCS; \
54de429396Shibler			 rm -f ${LIBDIR}/$$i/\#*; \
55de429396Shibler			 rm -f ${LIBDIR}/$$i/*~); \
56de429396Shibler		done \
57de429396Shibler	else true; \
58de429396Shibler	fi
59de429396Shibler	install -c -s etc/emacsclient ${BINDIR}/emacsclient
60de429396Shibler	install -c -s etc/etags ${BINDIR}/etags
61de429396Shibler	install -c -s etc/ctags ${BINDIR}/ctags
62de429396Shibler	install -c -s -m 1755 src/xemacs ${BINDIR}/xemacs
63*70910e97Sbostic	nroff -man etc/emacs.1 > ${MANDIR}/emacs.0
64*70910e97Sbostic	chmod 444 ${MANDIR}/emacs.0
65de429396Shibler	-rm -f ${BINDIR}/emacs
66de429396Shibler	mv ${BINDIR}/xemacs ${BINDIR}/emacs
67de429396Shibler
68de429396Shiblerinstall.sysv: all mkdir lockdir
69de429396Shibler	-if [ `/bin/pwd` != `(cd ${LIBDIR}; /bin/pwd)` ] ; then \
70de429396Shibler		find ${COPYDIR} -print | cpio -pdum ${LIBDIR} ;\
71de429396Shibler		for i in ${CLEANDIR}; do \
72de429396Shibler			(rm -rf ${LIBDIR}/$$i/RCS; \
73de429396Shibler			 rm -f ${LIBDIR}/$$i/\#*; \
74de429396Shibler			 rm -f ${LIBDIR}/$$i/*~); \
75de429396Shibler		done \
76de429396Shibler	else true; \
77de429396Shibler	fi
78de429396Shibler	-cpset etc/emacsclient ${BINDIR}/emacsclient 755 bin bin
79de429396Shibler	-cpset etc/etags ${BINDIR}/etags 755 bin bin
80de429396Shibler	-cpset etc/ctags ${BINDIR}/ctags 755 bin bin
81de429396Shibler	-cpset etc/emacs.1 ${MANDIR}/emacs.1 444 bin bin
82de429396Shibler	-/bin/rm -f ${BINDIR}/emacs
83de429396Shibler	-cpset src/xemacs ${BINDIR}/emacs 1755 bin bin
84de429396Shibler
85de429396Shiblerinstall.xenix: all mkdir lockdir
86de429396Shibler	if [ `pwd` != `(cd ${LIBDIR}; pwd)` ] ; then \
87de429396Shibler		tar cf - ${COPYDIR} | (cd ${LIBDIR}; umask 0; tar xpf - ) ;\
88de429396Shibler		for i in ${CLEANDIR}; do \
89de429396Shibler			(rm -rf ${LIBDIR}/$$i/RCS; \
90de429396Shibler			 rm -f ${LIBDIR}/$$i/\#*; \
91de429396Shibler			 rm -f ${LIBDIR}/$$i/*~); \
92de429396Shibler		done \
93de429396Shibler	else true; \
94de429396Shibler	fi
95de429396Shibler	cp etc/etags etc/ctags etc/emacsclient ${BINDIR}
96de429396Shibler	chmod 755 ${BINDIR}/etags ${BINDIR}/ctags ${BINDIR}/emacsclient
97de429396Shibler	cp etc/emacs.1 ${MANDIR}/emacs.1
98de429396Shibler	chmod 444 ${MANDIR}/emacs.1
99de429396Shibler	-mv -f ${BINDIR}/emacs ${BINDIR}/emacs.old
100de429396Shibler	cp src/xemacs ${BINDIR}/emacs
101de429396Shibler	chmod 1755 ${BINDIR}/emacs
102de429396Shibler	-rm -f ${BINDIR}/emacs.old
103de429396Shibler
104de429396Shiblermkdir: FRC
105de429396Shibler	-mkdir ${LIBDIR}
106de429396Shibler	-chmod 777 ${LIBDIR}
107de429396Shibler
108de429396Shiblerdistclean:
109de429396Shibler	for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} distclean); done
110de429396Shibler
111de429396Shiblerclean:
112de429396Shibler	cd src; make clean
113de429396Shibler	if [ `pwd` != `(cd ${LIBDIR}; pwd)` ] ; then \
114de429396Shibler		cd etc; make clean; \
115de429396Shibler	else true; \
116de429396Shibler	fi
117de429396Shibler
118de429396Shiblerlockdir:
119a30e2be3Shibler	-mkdir ${LOCKDIR}
120a30e2be3Shibler	-chmod 777 ${LOCKDIR}
121de429396Shibler
122de429396ShiblerFRC:
123de429396Shibler
124de429396Shiblertags:	etc
125de429396Shibler	cd src; ../etc/etags *.[ch] ../lisp/*.el ../lisp/term/*.el
126