31146
|
1 #
|
|
2 # Top level makefile for building GNU Emacs on Windows NT
|
|
3 #
|
|
4 # This file is part of GNU Emacs.
|
|
5 #
|
|
6 # GNU Emacs is free software; you can redistribute it and/or modify
|
|
7 # it under the terms of the GNU General Public License as published by
|
|
8 # the Free Software Foundation; either version 2, or (at your option)
|
|
9 # any later version.
|
|
10 #
|
|
11 # GNU Emacs is distributed in the hope that it will be useful,
|
|
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14 # GNU General Public License for more details.
|
|
15 #
|
|
16 # You should have received a copy of the GNU General Public License
|
|
17 # along with GNU Emacs; see the file COPYING. If not, write to
|
|
18 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
19 # Boston, MA 02111-1307, USA.
|
|
20
|
|
21 ALL = addpm ddeclient runemacs cmdproxy addsection preprep
|
|
22
|
|
23 .PHONY: $(ALL)
|
|
24
|
|
25 TRES = $(BLD)/emacs.res
|
|
26
|
|
27 addpm: $(BLD) $(BLD)/addpm.exe
|
|
28 $(BLD)/addpm.exe: $(BLD)/addpm.$(O)
|
|
29 $(LINK) $(LINK_OUT)$@ \
|
|
30 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)
|
|
31
|
|
32 ddeclient: $(BLD) $(BLD)/ddeclient.exe
|
|
33 $(BLD)/ddeclient.exe: $(BLD)/ddeclient.$(O)
|
|
34 $(LINK) $(LINK_OUT)$@ \
|
|
35 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)
|
|
36
|
|
37 cmdproxy: $(BLD) $(BLD)/cmdproxy.exe
|
|
38 $(BLD)/cmdproxy.exe: $(BLD)/cmdproxy.$(O)
|
|
39 $(LINK) $(LINK_OUT)$@ \
|
|
40 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32)
|
|
41
|
|
42 addsection: $(BLD) $(BLD)/addsection.exe
|
|
43 $(BLD)/addsection.exe: $(BLD)/addsection.$(O)
|
|
44 $(LINK) $(LINK_OUT)$@ \
|
|
45 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32)
|
|
46
|
|
47 preprep: $(BLD) $(BLD)/preprep.exe
|
|
48 $(BLD)/preprep.exe: $(BLD)/preprep.$(O)
|
|
49 $(LINK) $(LINK_OUT)$@ \
|
|
50 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS)
|
|
51
|
|
52 #
|
|
53 # The resource file. NT 3.10 requires the use of cvtres; even though
|
|
54 # it is not necessary on later versions, it is still ok to use it.
|
|
55 #
|
|
56 $(TRES): emacs.rc
|
|
57 $(RC) $(RC_OUT)$(BLD)/emacs.res $(ALL_DEPS)
|
|
58
|
|
59 runemacs: $(BLD) $(BLD)/runemacs.exe
|
|
60 $(BLD)/runemacs.exe: $(BLD)/runemacs.$(O) $(TRES)
|
|
61 $(LINK) $(LINK_OUT)$@ $(SUBSYSTEM_WINDOWS) \
|
|
62 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)
|
|
63
|
|
64 which-sh:
|
|
65 @echo Using $(THE_SHELL) as shell.
|
|
66
|
|
67 #
|
|
68 # Build emacs
|
|
69 #
|
|
70 all: which-sh $(BLD) $(ALL) all-other-dirs
|
|
71
|
|
72 $(INSTALL_DIR):
|
|
73 - mkdir "$(INSTALL_DIR)"
|
|
74
|
|
75 $(INSTALL_DIR)/bin:
|
|
76 - mkdir "$(INSTALL_DIR)/bin"
|
|
77
|
|
78 #
|
|
79 # Build and install emacs in INSTALL_DIR
|
|
80 #
|
|
81 install: all $(INSTALL_DIR)/bin install-other-dirs
|
|
82 - $(CP) $(BLD)/addpm.exe $(INSTALL_DIR)/bin
|
|
83 - $(CP) $(BLD)/ddeclient.exe $(INSTALL_DIR)/bin
|
|
84 - $(CP) $(BLD)/cmdproxy.exe $(INSTALL_DIR)/bin
|
|
85 - $(CP) $(BLD)/runemacs.exe $(INSTALL_DIR)/bin
|
|
86 - $(CP) ../lib-src/fns-*.el $(INSTALL_DIR)/bin
|
|
87 - "$(INSTALL_DIR)/bin/addpm" /q
|
|
88 - $(DEL) ../same-dir.tst
|
|
89 - $(DEL) $(INSTALL_DIR)/same-dir.tst
|
|
90 - mkdir "$(INSTALL_DIR)/etc/icons"
|
|
91 - $(CP_DIR) icons $(INSTALL_DIR)/etc/icons
|
|
92 echo SameDirTest > "$(INSTALL_DIR)/same-dir.tst"
|
|
93 $(IFNOTSAMEDIR) $(MAKE) real_install $(ENDIF)
|
|
94 - $(DEL) ../same-dir.tst
|
|
95 - $(DEL) $(INSTALL_DIR)/same-dir.tst
|
|
96
|
|
97 real_install:
|
|
98 - $(DEL) ../same-dir.tst
|
|
99 - $(DEL) $(INSTALL_DIR)/same-dir.tst
|
|
100 echo SameDirTest > $(INSTALL_DIR)/same-dir.tst
|
|
101 - mkdir "$(INSTALL_DIR)/etc"
|
|
102 - mkdir "$(INSTALL_DIR)/info"
|
|
103 - mkdir "$(INSTALL_DIR)/lock"
|
|
104 - mkdir "$(INSTALL_DIR)/data"
|
|
105 - mkdir "$(INSTALL_DIR)/site-lisp"
|
|
106 - mkdir "$(INSTALL_DIR)/etc/icons"
|
|
107 - $(CP_DIR) icons $(INSTALL_DIR)/etc/icons
|
|
108 $(IFNOTSAMEDIR) $(CP_DIR) ../etc $(INSTALL_DIR)/etc $(ENDIF)
|
|
109 $(IFNOTSAMEDIR) $(CP_DIR) ../info $(INSTALL_DIR)/info $(ENDIF)
|
|
110 - $(DEL) ../same-dir.tst
|
|
111 - $(DEL) $(INSTALL_DIR)/same-dir.tst
|
|
112
|
|
113 #
|
|
114 # Maintenance
|
|
115 #
|
|
116 clean: clean-other-dirs
|
|
117 - $(DEL) *~ *.pdb
|
|
118 - $(DEL_TREE) $(OBJDIR)
|
|
119 - $(DEL) ../etc/DOC ../etc/DOC-X
|
|
120
|
|
121 cleanall: clean
|
|
122 - $(DEL_TREE) obj
|
|
123 - $(DEL_TREE) obj-spd
|
|
124 - $(DEL_TREE) oo
|
|
125 - $(DEL_TREE) oo-spd
|
|
126
|
|
127 realclean: cleanall
|
|
128 - $(DEL_TREE) ../bin
|