Mercurial > emacs
annotate msdos/mainmake.v2 @ 26392:b3d3ff9a7a2c
*** empty log message ***
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Tue, 09 Nov 1999 19:08:51 +0000 |
parents | 075da7e5be80 |
children | b2c3baf84d16 |
rev | line source |
---|---|
15014 | 1 # Top-level Makefile for Emacs under MS-DOS/DJGPP v2.0 or higher. -*-makefile-*- |
14995 | 2 # |
3 # make all to compile and build Emacs. | |
4 # make install to install it. | |
5 # make TAGS to update tags tables. | |
6 # | |
7 # make clean or make mostlyclean | |
8 # Delete all files from the current directory that are normally | |
9 # created by building the program. Don't delete the files that | |
10 # record the configuration. Also preserve files that could be made | |
11 # by building, but normally aren't because the distribution comes | |
12 # with them. | |
13 # | |
14 # Delete `.dvi' files here if they are not part of the distribution. | |
15 # | |
16 # make distclean | |
17 # Delete all files from the current directory that are created by | |
18 # configuring or building the program. If you have unpacked the | |
19 # source and built the program without creating any other files, | |
20 # `make distclean' should leave only the files that were in the | |
21 # distribution. | |
22 # | |
23 # make realclean | |
24 # Delete everything from the current directory that can be | |
25 # reconstructed with this Makefile. This typically includes | |
26 # everything deleted by distclean, plus more: C source files | |
27 # produced by Bison, tags tables, info files, and so on. | |
28 # | |
29 # make extraclean | |
30 # Still more severe - delete backup and autosave files, too. | |
31 | |
23496
1518b5946f9f
Forcibly set SHELL and MAKESHELL to force Make to use
Eli Zaretskii <eliz@gnu.org>
parents:
21934
diff
changeset
|
32 # This gork is required for those who use a Unix-style shell, and |
1518b5946f9f
Forcibly set SHELL and MAKESHELL to force Make to use
Eli Zaretskii <eliz@gnu.org>
parents:
21934
diff
changeset
|
33 # have SHELL in the environment pointing to it. Here we force |
1518b5946f9f
Forcibly set SHELL and MAKESHELL to force Make to use
Eli Zaretskii <eliz@gnu.org>
parents:
21934
diff
changeset
|
34 # Make to use COMMAND.COM instead. This Makefile won't work otherwise. |
24908
075da7e5be80
(SHELL, MAKESHELL): Don't use /dos/command, it can
Eli Zaretskii <eliz@gnu.org>
parents:
24071
diff
changeset
|
35 # (The /xyzzy directory is used to minimize the chance that someone |
075da7e5be80
(SHELL, MAKESHELL): Don't use /dos/command, it can
Eli Zaretskii <eliz@gnu.org>
parents:
24071
diff
changeset
|
36 # actually has such a directory with an incompatible command.com. We |
075da7e5be80
(SHELL, MAKESHELL): Don't use /dos/command, it can
Eli Zaretskii <eliz@gnu.org>
parents:
24071
diff
changeset
|
37 # used to have /dos there, but some Windows installations have an old |
075da7e5be80
(SHELL, MAKESHELL): Don't use /dos/command, it can
Eli Zaretskii <eliz@gnu.org>
parents:
24071
diff
changeset
|
38 # version of DOS stashed in that directory, and command.com from there |
075da7e5be80
(SHELL, MAKESHELL): Don't use /dos/command, it can
Eli Zaretskii <eliz@gnu.org>
parents:
24071
diff
changeset
|
39 # won't run on Windows, complaining about "Incorrect DOS version". |
075da7e5be80
(SHELL, MAKESHELL): Don't use /dos/command, it can
Eli Zaretskii <eliz@gnu.org>
parents:
24071
diff
changeset
|
40 # Make will look up PATH for the shell executable, so the directory name |
075da7e5be80
(SHELL, MAKESHELL): Don't use /dos/command, it can
Eli Zaretskii <eliz@gnu.org>
parents:
24071
diff
changeset
|
41 # is not important.) |
075da7e5be80
(SHELL, MAKESHELL): Don't use /dos/command, it can
Eli Zaretskii <eliz@gnu.org>
parents:
24071
diff
changeset
|
42 SHELL=/xyzzy/command |
075da7e5be80
(SHELL, MAKESHELL): Don't use /dos/command, it can
Eli Zaretskii <eliz@gnu.org>
parents:
24071
diff
changeset
|
43 MAKESHELL=/xyzzy/command |
23496
1518b5946f9f
Forcibly set SHELL and MAKESHELL to force Make to use
Eli Zaretskii <eliz@gnu.org>
parents:
21934
diff
changeset
|
44 |
14995 | 45 # Generate a full pathname of the top-level installation directory |
21483
c6d7001a262c
Determine emacs-version from lisp/version.el. Pass it to
Eli Zaretskii <eliz@gnu.org>
parents:
20282
diff
changeset
|
46 top_srcdir := $(subst \,/,$(shell cd)) |
c6d7001a262c
Determine emacs-version from lisp/version.el. Pass it to
Eli Zaretskii <eliz@gnu.org>
parents:
20282
diff
changeset
|
47 |
c6d7001a262c
Determine emacs-version from lisp/version.el. Pass it to
Eli Zaretskii <eliz@gnu.org>
parents:
20282
diff
changeset
|
48 # Find out which version of Emacs this is. |
c6d7001a262c
Determine emacs-version from lisp/version.el. Pass it to
Eli Zaretskii <eliz@gnu.org>
parents:
20282
diff
changeset
|
49 version := ${shell sed -n -e '/(defconst emacs-version/s/^[^"]*\("[^"]*"\).*/\1/p' lisp/version.el} |
14995 | 50 |
20282
6de74098af01
(man): New target to build the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
18768
diff
changeset
|
51 all: lib-src src man |
14995 | 52 |
53 lib-src: FRC | |
54 cd lib-src | |
21483
c6d7001a262c
Determine emacs-version from lisp/version.el. Pass it to
Eli Zaretskii <eliz@gnu.org>
parents:
20282
diff
changeset
|
55 $(MAKE) top_srcdir=${top_srcdir} version=${version} |
14995 | 56 cd .. |
57 | |
58 src: FRC | |
59 cd src | |
21483
c6d7001a262c
Determine emacs-version from lisp/version.el. Pass it to
Eli Zaretskii <eliz@gnu.org>
parents:
20282
diff
changeset
|
60 $(MAKE) top_srcdir=${top_srcdir} |
21492
09022f09dbbf
Replace topdir with top_srcdir.
Eli Zaretskii <eliz@gnu.org>
parents:
21483
diff
changeset
|
61 redir -o gdb.sed echo '/-geometry/s,^.*,set environment HOME $(top_srcdir),' |
15024
46fab7ac485b
(src): Create a file with sed commands instead of using
Richard M. Stallman <rms@gnu.org>
parents:
15014
diff
changeset
|
62 redir -oa gdb.sed echo '/environment *TERM/s/^.*/set environment TERM internal/' |
46fab7ac485b
(src): Create a file with sed commands instead of using
Richard M. Stallman <rms@gnu.org>
parents:
15014
diff
changeset
|
63 redir -oa gdb.sed echo '/x_error_quitter/s/^.*/set environment NAME root/' |
46fab7ac485b
(src): Create a file with sed commands instead of using
Richard M. Stallman <rms@gnu.org>
parents:
15014
diff
changeset
|
64 redir -o gdb.tmp sed -f gdb.sed _gdbinit |
14995 | 65 redir -oa gdb.tmp echo 'set environment USER root' |
21492
09022f09dbbf
Replace topdir with top_srcdir.
Eli Zaretskii <eliz@gnu.org>
parents:
21483
diff
changeset
|
66 redir -oa gdb.tmp echo 'set environment EMACSPATH $(top_srcdir)/bin' |
14995 | 67 redir -oa gdb.tmp echo 'set environment SHELL $(subst \,/,$(COMSPEC))' |
68 redir -oa gdb.tmp echo 'set environment PATH $(subst \,/,$(PATH))' | |
69 update gdb.tmp gdb.ini | |
15024
46fab7ac485b
(src): Create a file with sed commands instead of using
Richard M. Stallman <rms@gnu.org>
parents:
15014
diff
changeset
|
70 rm -f gdb.tmp gdb.sed |
14995 | 71 cd .. |
24019
4946582b4411
(src): Build files in leim if leim/Makefile exists.
Eli Zaretskii <eliz@gnu.org>
parents:
23662
diff
changeset
|
72 if exist leim\Makefile redir $(MAKE) -C leim top_srcdir=${top_srcdir} |
14995 | 73 |
20282
6de74098af01
(man): New target to build the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
18768
diff
changeset
|
74 man: FRC |
6de74098af01
(man): New target to build the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
18768
diff
changeset
|
75 cd man |
21483
c6d7001a262c
Determine emacs-version from lisp/version.el. Pass it to
Eli Zaretskii <eliz@gnu.org>
parents:
20282
diff
changeset
|
76 $(MAKE) top_srcdir=${top_srcdir} |
20282
6de74098af01
(man): New target to build the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
18768
diff
changeset
|
77 cd .. |
6de74098af01
(man): New target to build the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
18768
diff
changeset
|
78 |
14995 | 79 install: all |
20282
6de74098af01
(man): New target to build the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
18768
diff
changeset
|
80 if not exist bin\nul md bin |
14995 | 81 cd lib-src |
15024
46fab7ac485b
(src): Create a file with sed commands instead of using
Richard M. Stallman <rms@gnu.org>
parents:
15014
diff
changeset
|
82 if exist hexl.exe mv -f hexl.exe ../bin |
46fab7ac485b
(src): Create a file with sed commands instead of using
Richard M. Stallman <rms@gnu.org>
parents:
15014
diff
changeset
|
83 if exist etags.exe mv -f etags.exe ../bin |
46fab7ac485b
(src): Create a file with sed commands instead of using
Richard M. Stallman <rms@gnu.org>
parents:
15014
diff
changeset
|
84 if exist ctags.exe mv -f ctags.exe ../bin |
46fab7ac485b
(src): Create a file with sed commands instead of using
Richard M. Stallman <rms@gnu.org>
parents:
15014
diff
changeset
|
85 if exist b2m.exe mv -f b2m.exe ../bin |
24071
8db408246555
(install): Use update instead of sed to install fns.el.
Eli Zaretskii <eliz@gnu.org>
parents:
24047
diff
changeset
|
86 if exist fns.el update fns.el ../bin/fns.el |
14995 | 87 cd .. |
88 cd src | |
89 stubify emacs | |
90 stubedit emacs.exe minstack=512k | |
91 mv -f emacs.exe ../bin/ | |
92 cd .. | |
93 | |
94 FRC: | |
95 | |
15781
5cd40832a444
(TAGS): Make sure bin/etags.exe is current. Make
Richard M. Stallman <rms@gnu.org>
parents:
15024
diff
changeset
|
96 TAGS tags: lib-src FRC |
5cd40832a444
(TAGS): Make sure bin/etags.exe is current. Make
Richard M. Stallman <rms@gnu.org>
parents:
15024
diff
changeset
|
97 cd lib-src |
5cd40832a444
(TAGS): Make sure bin/etags.exe is current. Make
Richard M. Stallman <rms@gnu.org>
parents:
15024
diff
changeset
|
98 if exist etags.exe mv -f etags.exe ../bin |
5cd40832a444
(TAGS): Make sure bin/etags.exe is current. Make
Richard M. Stallman <rms@gnu.org>
parents:
15024
diff
changeset
|
99 cd .. |
14995 | 100 cd lisp |
21934
809dbde64976
(TAGS): Fix file name wildcards in lisp directory.
Eli Zaretskii <eliz@gnu.org>
parents:
21492
diff
changeset
|
101 ../bin/etags [a-zA-Z]*.el [a-zA-Z]*/[a-zA-Z]*.el |
14995 | 102 cd .. |
103 cd src | |
104 ../bin/etags --include=../lisp/TAGS \ | |
105 '--regex=/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' *.c *.h s/msdos.h m/intel386.h | |
106 cd .. | |
107 ./bin/etags --include=src/TAGS | |
108 | |
109 check: | |
110 @echo "We don't have any tests for GNU Emacs yet." | |
111 | |
112 clean: | |
113 cd lib-src | |
114 $(MAKE) clean | |
115 cd .. | |
116 cd src | |
117 $(MAKE) clean | |
118 cd .. | |
119 cd oldxmenu | |
120 -$(MAKE) clean | |
121 cd .. | |
24019
4946582b4411
(src): Build files in leim if leim/Makefile exists.
Eli Zaretskii <eliz@gnu.org>
parents:
23662
diff
changeset
|
122 cd leim |
4946582b4411
(src): Build files in leim if leim/Makefile exists.
Eli Zaretskii <eliz@gnu.org>
parents:
23662
diff
changeset
|
123 if exist Makefile redir $(MAKE) clean |
4946582b4411
(src): Build files in leim if leim/Makefile exists.
Eli Zaretskii <eliz@gnu.org>
parents:
23662
diff
changeset
|
124 cd .. |