Mercurial > emacs
annotate msdos/mainmake.v2 @ 24318:8c47fccebb58
(get_clipboard_data): Work around a bug in Windows95
DOS box which doubles the reported size of text in the clipboard.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Mon, 15 Feb 1999 15:14:47 +0000 |
parents | 8db408246555 |
children | 075da7e5be80 |
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. |
23662
a0da0fa2edfd
(SHELL, MAKESHELL): Don't use `override'.
Eli Zaretskii <eliz@gnu.org>
parents:
23496
diff
changeset
|
35 SHELL=/dos/command |
a0da0fa2edfd
(SHELL, MAKESHELL): Don't use `override'.
Eli Zaretskii <eliz@gnu.org>
parents:
23496
diff
changeset
|
36 MAKESHELL=/dos/command |
23496
1518b5946f9f
Forcibly set SHELL and MAKESHELL to force Make to use
Eli Zaretskii <eliz@gnu.org>
parents:
21934
diff
changeset
|
37 |
14995 | 38 # 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
|
39 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
|
40 |
c6d7001a262c
Determine emacs-version from lisp/version.el. Pass it to
Eli Zaretskii <eliz@gnu.org>
parents:
20282
diff
changeset
|
41 # 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
|
42 version := ${shell sed -n -e '/(defconst emacs-version/s/^[^"]*\("[^"]*"\).*/\1/p' lisp/version.el} |
14995 | 43 |
20282
6de74098af01
(man): New target to build the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
18768
diff
changeset
|
44 all: lib-src src man |
14995 | 45 |
46 lib-src: FRC | |
47 cd lib-src | |
21483
c6d7001a262c
Determine emacs-version from lisp/version.el. Pass it to
Eli Zaretskii <eliz@gnu.org>
parents:
20282
diff
changeset
|
48 $(MAKE) top_srcdir=${top_srcdir} version=${version} |
14995 | 49 cd .. |
50 | |
51 src: FRC | |
52 cd src | |
21483
c6d7001a262c
Determine emacs-version from lisp/version.el. Pass it to
Eli Zaretskii <eliz@gnu.org>
parents:
20282
diff
changeset
|
53 $(MAKE) top_srcdir=${top_srcdir} |
21492
09022f09dbbf
Replace topdir with top_srcdir.
Eli Zaretskii <eliz@gnu.org>
parents:
21483
diff
changeset
|
54 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
|
55 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
|
56 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
|
57 redir -o gdb.tmp sed -f gdb.sed _gdbinit |
14995 | 58 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
|
59 redir -oa gdb.tmp echo 'set environment EMACSPATH $(top_srcdir)/bin' |
14995 | 60 redir -oa gdb.tmp echo 'set environment SHELL $(subst \,/,$(COMSPEC))' |
61 redir -oa gdb.tmp echo 'set environment PATH $(subst \,/,$(PATH))' | |
62 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
|
63 rm -f gdb.tmp gdb.sed |
14995 | 64 cd .. |
24019
4946582b4411
(src): Build files in leim if leim/Makefile exists.
Eli Zaretskii <eliz@gnu.org>
parents:
23662
diff
changeset
|
65 if exist leim\Makefile redir $(MAKE) -C leim top_srcdir=${top_srcdir} |
14995 | 66 |
20282
6de74098af01
(man): New target to build the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
18768
diff
changeset
|
67 man: FRC |
6de74098af01
(man): New target to build the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
18768
diff
changeset
|
68 cd man |
21483
c6d7001a262c
Determine emacs-version from lisp/version.el. Pass it to
Eli Zaretskii <eliz@gnu.org>
parents:
20282
diff
changeset
|
69 $(MAKE) top_srcdir=${top_srcdir} |
20282
6de74098af01
(man): New target to build the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
18768
diff
changeset
|
70 cd .. |
6de74098af01
(man): New target to build the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
18768
diff
changeset
|
71 |
14995 | 72 install: all |
20282
6de74098af01
(man): New target to build the manual.
Eli Zaretskii <eliz@gnu.org>
parents:
18768
diff
changeset
|
73 if not exist bin\nul md bin |
14995 | 74 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
|
75 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
|
76 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
|
77 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
|
78 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
|
79 if exist fns.el update fns.el ../bin/fns.el |
14995 | 80 cd .. |
81 cd src | |
82 stubify emacs | |
83 stubedit emacs.exe minstack=512k | |
84 mv -f emacs.exe ../bin/ | |
85 cd .. | |
86 | |
87 FRC: | |
88 | |
15781
5cd40832a444
(TAGS): Make sure bin/etags.exe is current. Make
Richard M. Stallman <rms@gnu.org>
parents:
15024
diff
changeset
|
89 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
|
90 cd lib-src |
5cd40832a444
(TAGS): Make sure bin/etags.exe is current. Make
Richard M. Stallman <rms@gnu.org>
parents:
15024
diff
changeset
|
91 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
|
92 cd .. |
14995 | 93 cd lisp |
21934
809dbde64976
(TAGS): Fix file name wildcards in lisp directory.
Eli Zaretskii <eliz@gnu.org>
parents:
21492
diff
changeset
|
94 ../bin/etags [a-zA-Z]*.el [a-zA-Z]*/[a-zA-Z]*.el |
14995 | 95 cd .. |
96 cd src | |
97 ../bin/etags --include=../lisp/TAGS \ | |
98 '--regex=/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' *.c *.h s/msdos.h m/intel386.h | |
99 cd .. | |
100 ./bin/etags --include=src/TAGS | |
101 | |
102 check: | |
103 @echo "We don't have any tests for GNU Emacs yet." | |
104 | |
105 clean: | |
106 cd lib-src | |
107 $(MAKE) clean | |
108 cd .. | |
109 cd src | |
110 $(MAKE) clean | |
111 cd .. | |
112 cd oldxmenu | |
113 -$(MAKE) clean | |
114 cd .. | |
24019
4946582b4411
(src): Build files in leim if leim/Makefile exists.
Eli Zaretskii <eliz@gnu.org>
parents:
23662
diff
changeset
|
115 cd leim |
4946582b4411
(src): Build files in leim if leim/Makefile exists.
Eli Zaretskii <eliz@gnu.org>
parents:
23662
diff
changeset
|
116 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
|
117 cd .. |