/[emacs]/emacs/nt/makefile.w32-in
ViewVC logotype

Diff of /emacs/nt/makefile.w32-in

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.11 by eliz, Tue Sep 4 11:28:36 2001 UTC revision 1.12 by andrewi, Mon Dec 3 11:40:21 2001 UTC
# Line 1  Line 1 
1  #  Makefile for GNU Emacs on the Microsoft W32 API.  #  Makefile for GNU Emacs on the Microsoft W32 API.
2  #  Copyright (c) 2000-2001 Free Software Foundation, Inc.  #  Copyright (c) 2000-2001 Free Software Foundation, Inc.
3  #  #
4  #  Top level makefile for building GNU Emacs on Windows NT  #  Top level makefile for building GNU Emacs on Windows NT
5  #  #
6  #  This file is part of GNU Emacs.  #  This file is part of GNU Emacs.
7  #    #  
8  #  GNU Emacs is free software; you can redistribute it and/or modify  #  GNU Emacs is free software; you can redistribute it and/or modify
9  #  it under the terms of the GNU General Public License as published by  #  it under the terms of the GNU General Public License as published by
10  #  the Free Software Foundation; either version 2, or (at your option)  #  the Free Software Foundation; either version 2, or (at your option)
11  #  any later version.  #  any later version.
12  #    #  
13  #  GNU Emacs is distributed in the hope that it will be useful,  #  GNU Emacs is distributed in the hope that it will be useful,
14  #  but WITHOUT ANY WARRANTY; without even the implied warranty of  #  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  #  GNU General Public License for more details.  #  GNU General Public License for more details.
17  #    #  
18  #  You should have received a copy of the GNU General Public License  #  You should have received a copy of the GNU General Public License
19  #  along with GNU Emacs; see the file COPYING.  If not, write to  #  along with GNU Emacs; see the file COPYING.  If not, write to
20  #  the Free Software Foundation, Inc., 59 Temple Place - Suite 330,  #  the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21  #  Boston, MA 02111-1307, USA.  #  Boston, MA 02111-1307, USA.
22    
23  ALL             = addpm ddeclient runemacs cmdproxy addsection preprep  ALL             = addpm ddeclient runemacs cmdproxy addsection preprep
24    
25  .PHONY: $(ALL)  .PHONY: $(ALL)
26    
27  TRES            = $(BLD)/emacs.res  TRES            = $(BLD)/emacs.res
28    
29  addpm:            $(BLD) $(BLD)/addpm.exe  addpm:            $(BLD) $(BLD)/addpm.exe
30  $(BLD)/addpm.exe: $(BLD)/addpm.$(O)  $(BLD)/addpm.exe: $(BLD)/addpm.$(O)
31                    $(LINK) $(LINK_OUT)$@ \                    $(LINK) $(LINK_OUT)$@ \
32                    $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)                    $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)
33    
34  ddeclient:        $(BLD) $(BLD)/ddeclient.exe  ddeclient:        $(BLD) $(BLD)/ddeclient.exe
35  $(BLD)/ddeclient.exe: $(BLD)/ddeclient.$(O)  $(BLD)/ddeclient.exe: $(BLD)/ddeclient.$(O)
36                    $(LINK) $(LINK_OUT)$@ \                    $(LINK) $(LINK_OUT)$@ \
37                    $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)                    $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)
38    
39  cmdproxy:         $(BLD) $(BLD)/cmdproxy.exe  cmdproxy:         $(BLD) $(BLD)/cmdproxy.exe
40  $(BLD)/cmdproxy.exe: $(BLD)/cmdproxy.$(O)  $(BLD)/cmdproxy.exe: $(BLD)/cmdproxy.$(O)
41                    $(LINK) $(LINK_OUT)$@ \                    $(LINK) $(LINK_OUT)$@ \
42                    $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32)                    $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32)
43    
44  addsection:       $(BLD) $(BLD)/addsection.exe  addsection:       $(BLD) $(BLD)/addsection.exe
45  $(BLD)/addsection.exe: $(BLD)/addsection.$(O)  $(BLD)/addsection.exe: $(BLD)/addsection.$(O)
46                    $(LINK) $(LINK_OUT)$@ \                    $(LINK) $(LINK_OUT)$@ \
47                    $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32)                    $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32)
48    
49  preprep:          $(BLD) $(BLD)/preprep.exe  preprep:          $(BLD) $(BLD)/preprep.exe
50  $(BLD)/preprep.exe: $(BLD)/preprep.$(O)  $(BLD)/preprep.exe: $(BLD)/preprep.$(O)
51                    $(LINK) $(LINK_OUT)$@ \                    $(LINK) $(LINK_OUT)$@ \
52                    $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS)                    $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS)
53    
54  #  #
55  # The resource file.  NT 3.10 requires the use of cvtres; even though  # The resource file.  NT 3.10 requires the use of cvtres; even though
56  # it is not necessary on later versions, it is still ok to use it.  # it is not necessary on later versions, it is still ok to use it.
57  #  #
58  $(TRES):        emacs.rc  $(TRES):        emacs.rc
59                  $(RC) $(RC_OUT)$(BLD)/emacs.res $(ALL_DEPS)                  $(RC) $(RC_OUT)$(BLD)/emacs.res $(ALL_DEPS)
60    
61  runemacs:         $(BLD) $(BLD)/runemacs.exe  runemacs:         $(BLD) $(BLD)/runemacs.exe
62  $(BLD)/runemacs.exe: $(BLD)/runemacs.$(O) $(TRES)  $(BLD)/runemacs.exe: $(BLD)/runemacs.$(O) $(TRES)
63                    $(LINK) $(LINK_OUT)$@ $(SUBSYSTEM_WINDOWS) \                    $(LINK) $(LINK_OUT)$@ $(SUBSYSTEM_WINDOWS) \
64                    $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)                    $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)
65    
66  which-sh:  which-sh:
67          @echo Using $(THE_SHELL) as shell.          @echo Using $(THE_SHELL) as shell.
68    
69  #  #
70  # Build emacs  # Build emacs
71  #  #
72  all:    which-sh $(BLD) $(ALL) all-other-dirs-$(MAKETYPE)  all:    which-sh $(BLD) $(ALL) all-other-dirs-$(MAKETYPE)
73    
74  all-other-dirs-nmake:  all-other-dirs-nmake:
75          cd ..\lib-src          cd ..\lib-src
76          $(MAKE) $(MFLAGS) all          $(MAKE) $(MFLAGS) all
77          cd ..\src          cd ..\src
78          $(MAKE) $(MFLAGS) all          $(MAKE) $(MFLAGS) all
79          cd ..\lisp          cd ..\lisp
80          $(MAKE) $(MFLAGS) all          $(MAKE) $(MFLAGS) all
81          cd ..\leim          cd ..\leim
82          $(MAKE) $(MFLAGS) all          $(MAKE) $(MFLAGS) all
83          cd ..\nt          cd ..\nt
84    
85  all-other-dirs-gmake:  all-other-dirs-gmake:
86          $(MAKE) $(MFLAGS) -C ../lib-src all          $(MAKE) $(MFLAGS) -C ../lib-src all
87          $(MAKE) $(MFLAGS) -C ../src all          $(MAKE) $(MFLAGS) -C ../src all
88          $(MAKE) $(MFLAGS) -C ../lisp all          $(MAKE) $(MFLAGS) -C ../lisp all
89          $(MAKE) $(MFLAGS) -C ../leim all          $(MAKE) $(MFLAGS) -C ../leim all
90    
91  recompile:      recompile-$(MAKETYPE)  recompile:      recompile-$(MAKETYPE)
92    
93  recompile-nmake:  recompile-nmake:
94          cd ..\lisp          cd ..\lisp
95          $(MAKE) $(MFLAGS) recompile          $(MAKE) $(MFLAGS) recompile
96          cd ..\nt          cd ..\nt
97    
98  recompile-gmake:  recompile-gmake:
99          $(MAKE) $(MFLAGS) -C ../lisp recompile          $(MAKE) $(MFLAGS) -C ../lisp recompile
100    
101  bootstrap:      $(BLD) $(ALL) bootstrap-$(MAKETYPE)  #### Bootstrapping.
102    
103  bootstrap-nmake:  ### This is meant for Emacs maintainers only.  It first cleans the
104          cd ..\src  ### lisp subdirectory, removing all compiled Lisp files.  Then a
105          $(MAKE) $(MFLAGS) bootstrap  ### special emacs executable is built from Lisp sources, which is then
106          $(MAKE) $(MFLAGS) bootstrap-clean  ### used to compile Lisp files.  The last step is a "normal" make.
107          cd ..\lisp  
108          $(MAKE) $(MFLAGS) bootstrap  bootstrap:      bootstrap-$(MAKETYPE) all
109          cd ..\nt  
110    bootstrap-nmake:
111  bootstrap-gmake:          cd ..\lisp
112          $(MAKE) $(MFLAGS) -C ../src bootstrap          $(MAKE) $(MFLAGS) bootstrap-clean
113          $(MAKE) $(MFLAGS) -C ../src bootstrap-clean          cd ..\src
114          $(MAKE) $(MFLAGS) -C ../lisp bootstrap          $(MAKE) $(MFLAGS) clean
115            cd ..\lib-src
116  bootstrap-clean: bootstrap-clean-$(MAKETYPE)          $(MAKE) $(MFLAGS) clean DOC
117            cd ..\src
118  bootstrap-clean-nmake:          $(MAKE) $(MFLAGS) bootstrap
119          cd ..\src          $(MAKE) $(MFLAGS) bootstrap-clean
120          $(MAKE) $(MFLAGS) bootstrap-clean          cd ..\lisp
121          cd ..\lisp          $(MAKE) $(MFLAGS) bootstrap
122          $(MAKE) $(MFLAGS) bootstrap-clean          cd ..\nt
123    
124  bootstrap-clean-gmake:  bootstrap-gmake:
125          $(MAKE) $(MFLAGS) -C ../src bootstrap-clean          $(MAKE) $(MFLAGS) -C ../lisp bootstrap-clean
126          $(MAKE) $(MFLAGS) -C ../lisp bootstrap-clean          $(MAKE) $(MFLAGS) -C ../src clean
127            $(MAKE) $(MFLAGS) -C ../lib-src clean DOC
128  $(INSTALL_DIR):          $(MAKE) $(MFLAGS) -C ../src bootstrap
129          - mkdir "$(INSTALL_DIR)"          $(MAKE) $(MFLAGS) -C ../src bootstrap-clean
130            $(MAKE) $(MFLAGS) -C ../lisp bootstrap
131  $(INSTALL_DIR)/bin: $(INSTALL_DIR)  
132          - mkdir "$(INSTALL_DIR)/bin"  bootstrap-clean: bootstrap-clean-$(MAKETYPE)
133    
134  #  bootstrap-clean-nmake:
135  # Build and install emacs in INSTALL_DIR          cd ..\src
136  #          $(MAKE) $(MFLAGS) bootstrap-clean
137  install: all $(INSTALL_DIR)/bin install-other-dirs-$(MAKETYPE)          cd ..\lisp
138          - $(CP) $(BLD)/addpm.exe $(INSTALL_DIR)/bin          $(MAKE) $(MFLAGS) bootstrap-clean
139          - $(CP) $(BLD)/ddeclient.exe $(INSTALL_DIR)/bin  
140          - $(CP) $(BLD)/cmdproxy.exe $(INSTALL_DIR)/bin  bootstrap-clean-gmake:
141          - $(CP) $(BLD)/runemacs.exe $(INSTALL_DIR)/bin          $(MAKE) $(MFLAGS) -C ../src bootstrap-clean
142          - $(CP) ../lib-src/fns-*.el $(INSTALL_DIR)/bin          $(MAKE) $(MFLAGS) -C ../lisp bootstrap-clean
143          - "$(INSTALL_DIR)/bin/addpm" /q  
144          - $(DEL) ../same-dir.tst  $(INSTALL_DIR):
145          - $(DEL) $(INSTALL_DIR)/same-dir.tst          - mkdir "$(INSTALL_DIR)"
146          echo SameDirTest > "$(INSTALL_DIR)/same-dir.tst"  
147          - mkdir "$(INSTALL_DIR)/etc"  $(INSTALL_DIR)/bin: $(INSTALL_DIR)
148          - mkdir "$(INSTALL_DIR)/info"          - mkdir "$(INSTALL_DIR)/bin"
149          - mkdir "$(INSTALL_DIR)/lock"  
150          - mkdir "$(INSTALL_DIR)/data"  #
151          - mkdir "$(INSTALL_DIR)/site-lisp"  # Build and install emacs in INSTALL_DIR
152          - mkdir "$(INSTALL_DIR)/etc/icons"  #
153          $(IFNOTSAMEDIR) $(CP) ../site-lisp/subdirs.el $(INSTALL_DIR)/site-lisp $(ENDIF)  install: all $(INSTALL_DIR)/bin install-other-dirs-$(MAKETYPE)
154          $(IFNOTSAMEDIR) $(CP_DIR) ../etc $(INSTALL_DIR) $(ENDIF)          - $(CP) $(BLD)/addpm.exe $(INSTALL_DIR)/bin
155          - $(CP_DIR) icons $(INSTALL_DIR)/etc          - $(CP) $(BLD)/ddeclient.exe $(INSTALL_DIR)/bin
156          $(IFNOTSAMEDIR) $(CP_DIR) ../info $(INSTALL_DIR) $(ENDIF)          - $(CP) $(BLD)/cmdproxy.exe $(INSTALL_DIR)/bin
157          - $(DEL) ../same-dir.tst          - $(CP) $(BLD)/runemacs.exe $(INSTALL_DIR)/bin
158          - $(DEL) $(INSTALL_DIR)/same-dir.tst          - $(CP) ../lib-src/fns-*.el $(INSTALL_DIR)/bin
159            - "$(INSTALL_DIR)/bin/addpm" /q
160  install-other-dirs-nmake:          - $(DEL) ../same-dir.tst
161          cd ..\lib-src          - $(DEL) $(INSTALL_DIR)/same-dir.tst
162          $(MAKE) $(MFLAGS) install          echo SameDirTest > "$(INSTALL_DIR)/same-dir.tst"
163          cd ..\src          - mkdir "$(INSTALL_DIR)/etc"
164          $(MAKE) $(MFLAGS) install          - mkdir "$(INSTALL_DIR)/info"
165          cd ..\lisp          - mkdir "$(INSTALL_DIR)/lock"
166          $(MAKE) $(MFLAGS) install          - mkdir "$(INSTALL_DIR)/data"
167          cd ..\leim          - mkdir "$(INSTALL_DIR)/site-lisp"
168          $(MAKE) $(MFLAGS) install          - mkdir "$(INSTALL_DIR)/etc/icons"
169          cd ..\nt          $(IFNOTSAMEDIR) $(CP) ../site-lisp/subdirs.el $(INSTALL_DIR)/site-lisp $(ENDIF)
170            $(IFNOTSAMEDIR) $(CP_DIR) ../etc $(INSTALL_DIR) $(ENDIF)
171  install-other-dirs-gmake:          - $(CP_DIR) icons $(INSTALL_DIR)/etc
172          $(MAKE) $(MFLAGS) -C ../lib-src install          $(IFNOTSAMEDIR) $(CP_DIR) ../info $(INSTALL_DIR) $(ENDIF)
173          $(MAKE) $(MFLAGS) -C ../src install          - $(DEL) ../same-dir.tst
174          $(MAKE) $(MFLAGS) -C ../lisp install          - $(DEL) $(INSTALL_DIR)/same-dir.tst
175          $(MAKE) $(MFLAGS) -C ../leim install  
176    install-other-dirs-nmake:
177  #          cd ..\lib-src
178  # Maintenance          $(MAKE) $(MFLAGS) install
179  #          cd ..\src
180  clean:  clean-other-dirs-$(MAKETYPE)          $(MAKE) $(MFLAGS) install
181          - $(DEL) *~ $(COMPILER_TEMP_FILES)          cd ..\lisp
182          - $(DEL_TREE) $(OBJDIR)          $(MAKE) $(MFLAGS) install
183          - $(DEL) ../etc/DOC ../etc/DOC-X          cd ..\leim
184            $(MAKE) $(MFLAGS) install
185  clean-other-dirs-nmake:          cd ..\nt
186          cd ..\lib-src  
187          $(MAKE) $(MFLAGS) clean  install-other-dirs-gmake:
188          cd ..\src          $(MAKE) $(MFLAGS) -C ../lib-src install
189          $(MAKE) $(MFLAGS) clean          $(MAKE) $(MFLAGS) -C ../src install
190          cd ..\lisp          $(MAKE) $(MFLAGS) -C ../lisp install
191          $(MAKE) $(MFLAGS) clean          $(MAKE) $(MFLAGS) -C ../leim install
192          cd ..\leim  
193          $(MAKE) $(MFLAGS) clean  #
194          cd ..\nt  # Maintenance
195    #
196  clean-other-dirs-gmake:  clean:  clean-other-dirs-$(MAKETYPE)
197          $(MAKE) $(MFLAGS) -C ../lib-src clean          - $(DEL) *~ $(COMPILER_TEMP_FILES)
198          $(MAKE) $(MFLAGS) -C ../src clean          - $(DEL_TREE) $(OBJDIR)
199          $(MAKE) $(MFLAGS) -C ../lisp clean          - $(DEL) ../etc/DOC ../etc/DOC-X
200          $(MAKE) $(MFLAGS) -C ../leim clean  
201    clean-other-dirs-nmake:
202  cleanall-other-dirs-nmake:          cd ..\lib-src
203          cd ..\lib-src          $(MAKE) $(MFLAGS) clean
204          $(MAKE) $(MFLAGS) cleanall          cd ..\src
205          cd ..\src          $(MAKE) $(MFLAGS) clean
206          $(MAKE) $(MFLAGS) cleanall          cd ..\lisp
207          cd ..\nt          $(MAKE) $(MFLAGS) clean
208            cd ..\leim
209  cleanall-other-dirs-gmake:          $(MAKE) $(MFLAGS) clean
210          $(MAKE) $(MFLAGS) -C ../lib-src cleanall          cd ..\nt
211          $(MAKE) $(MFLAGS) -C ../src cleanall  
212    clean-other-dirs-gmake:
213  cleanall: clean cleanall-other-dirs-$(MAKETYPE)          $(MAKE) $(MFLAGS) -C ../lib-src clean
214           - $(DEL_TREE) obj          $(MAKE) $(MFLAGS) -C ../src clean
215           - $(DEL_TREE) obj-spd          $(MAKE) $(MFLAGS) -C ../lisp clean
216           - $(DEL_TREE) oo          $(MAKE) $(MFLAGS) -C ../leim clean
217           - $(DEL_TREE) oo-spd  
218    cleanall-other-dirs-nmake:
219  realclean: cleanall          cd ..\lib-src
220          - $(DEL_TREE) ../bin          $(MAKE) $(MFLAGS) cleanall
221            cd ..\src
222            $(MAKE) $(MFLAGS) cleanall
223            cd ..\nt
224    
225    cleanall-other-dirs-gmake:
226            $(MAKE) $(MFLAGS) -C ../lib-src cleanall
227            $(MAKE) $(MFLAGS) -C ../src cleanall
228    
229    cleanall: clean cleanall-other-dirs-$(MAKETYPE)
230             - $(DEL_TREE) obj
231             - $(DEL_TREE) obj-spd
232             - $(DEL_TREE) oo
233             - $(DEL_TREE) oo-spd
234    
235    realclean: cleanall
236            - $(DEL_TREE) ../bin

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.12

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26