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