Attempt at a fix for mingw CPPFLAGS
[bpt/emacs.git] / nt / Makefile.in
1 ### @configure_input@
2
3 # Copyright (C) 2013 Free Software Foundation, Inc.
4
5 # This file is part of GNU Emacs.
6
7 # GNU Emacs is free software: you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation, either version 3 of the License, or
10 # (at your option) any later version.
11
12 # GNU Emacs is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
16
17 # You should have received a copy of the GNU General Public License
18 # along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
19
20 # Avoid trouble on systems where the `SHELL' variable might be
21 # inherited from the environment.
22 SHELL = /bin/sh
23
24 # ==================== Things `configure' will edit ====================
25
26 CC=@CC@
27 CFLAGS=@CFLAGS@
28 version=@version@
29 ## Used in $archlibdir.
30 configuration=@configuration@
31 EXEEXT=@EXEEXT@
32 C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@
33 C_SWITCH_MACHINE=@C_SWITCH_MACHINE@
34 PROFILING_CFLAGS = @PROFILING_CFLAGS@
35 WARN_CFLAGS = @WARN_CFLAGS@
36 WERROR_CFLAGS = @WERROR_CFLAGS@
37
38 # Program name transformation.
39 TRANSFORM = @program_transform_name@
40
41 # ==================== Where To Install Things ====================
42
43 # The default location for installation. Everything is placed in
44 # subdirectories of this directory. The default values for many of
45 # the variables below are expressed in terms of this one, so you may
46 # not need to change them. This is set with the --prefix option to
47 # `../configure'.
48 prefix=@prefix@
49
50 # Like `prefix', but used for architecture-specific files. This is
51 # set with the --exec-prefix option to `../configure'.
52 exec_prefix=@exec_prefix@
53
54 # Where to install Emacs and other binaries that people will want to
55 # run directly (like etags). This is set with the --bindir option
56 # to `../configure'.
57 bindir=@bindir@
58
59 # Where to install and expect executable files to be run by Emacs
60 # rather than directly by users, and other architecture-dependent
61 # data. ${archlibdir} is usually below this. This is set with the
62 # --libexecdir option to `../configure'.
63 libexecdir=@libexecdir@
64
65 # Directory for local state files for all programs.
66 localstatedir=@localstatedir@
67
68 # Where to find the source code. This is set by the configure
69 # script's `--srcdir' option. However, the value of ${srcdir} in
70 # this makefile is not identical to what was specified with --srcdir,
71 # since the variable here has `/lib-src' added at the end.
72
73 # We use $(srcdir) explicitly in dependencies so as not to depend on VPATH.
74 srcdir=@srcdir@
75 VPATH=@srcdir@
76
77 # The top-level source directory, also set by configure.
78 top_srcdir=@top_srcdir@
79 abs_top_srcdir=@abs_top_srcdir@ # MinGW CPPFLAGS may use this
80
81 # ==================== Emacs-specific directories ====================
82
83 # These variables hold the values Emacs will actually use. They are
84 # based on the values of the standard Make variables above.
85
86 # Where to put executables to be run by Emacs rather than the user.
87 # This path usually includes the Emacs version and configuration name,
88 # so that multiple configurations for multiple versions of Emacs may
89 # be installed at once. This can be set with the --archlibdir option
90 # to `../configure'.
91 archlibdir=@archlibdir@
92
93 # ==================== Utility Programs for the Build =================
94
95 # ../configure figures out the correct values for these.
96 INSTALL = @INSTALL@
97 INSTALL_PROGRAM = @INSTALL_PROGRAM@
98 INSTALL_SCRIPT = @INSTALL_SCRIPT@
99 # By default, we uphold the dignity of our programs.
100 INSTALL_STRIP =
101 MKDIR_P = @MKDIR_P@
102
103 # ========================== Lists of Files ===========================
104
105 # Things that a user might actually run, which should be installed in bindir.
106 INSTALLABLES = runemacs${EXEEXT} addpm${EXEEXT}
107
108 # Things that Emacs runs internally, which should not be installed in bindir.
109 UTILITIES = cmdproxy${EXEEXT} ddeclient${EXEEXT}
110
111 # Things that Emacs runs during the build process.
112 DONT_INSTALL = addsection${EXEEXT}
113
114 # All files that are created by the linker, i.e., whose names end in ${EXEEXT}.
115 EXE_FILES = ${INSTALLABLES} ${UTILITIES} ${DONT_INSTALL}
116
117 # =========================== Configuration ===========================
118
119 # MS-Windows resource files and resource compiler
120 EMACSRES = @EMACSRES@
121 EMACS_MANIFEST = @EMACS_MANIFEST@
122 WINDRES = @WINDRES@
123
124 ## Extra libraries to use when linking addpm.
125 LIBS_ADDPM = -lole32 -luuid
126
127 ## Compilation and linking flags
128 BASE_CFLAGS = $(C_SWITCH_SYSTEM) $(C_SWITCH_MACHINE) \
129 $(WARN_CFLAGS) $(WERROR_CFLAGS) \
130 -I. -I${srcdir}
131
132 ALL_CFLAGS = ${BASE_CFLAGS} ${PROFILING_CFLAGS} ${LDFLAGS} ${CPPFLAGS} ${CFLAGS}
133 LINK_CFLAGS = ${BASE_CFLAGS} ${LDFLAGS} ${CFLAGS}
134 CPP_CFLAGS = ${BASE_CFLAGS} ${PROFILING_CFLAGS} ${CPPFLAGS} ${CFLAGS}
135
136 all: ${EXE_FILES}
137
138 .PHONY: all
139
140 ## Install the internal utilities. Until they are installed, we can
141 ## just run them directly from nt/.
142 $(DESTDIR)${archlibdir}: all
143 @echo
144 @echo "Installing utilities run internally by Emacs."
145 umask 022; ${MKDIR_P} "$(DESTDIR)${archlibdir}"
146 if [ "`cd \"$(DESTDIR)${archlibdir}\" && /bin/pwd`" != "`/bin/pwd`" ]; then \
147 for file in ${UTILITIES}; do \
148 $(INSTALL_PROGRAM) $(INSTALL_STRIP) $$file "$(DESTDIR)${archlibdir}/$$file" ; \
149 done ; \
150 fi
151
152 .PHONY: install uninstall mostlyclean clean distclean maintainer-clean
153 .PHONY: extraclean check tags
154
155 install: $(DESTDIR)${archlibdir}
156 @echo
157 @echo "Installing utilities for users to run."
158 umask 022; ${MKDIR_P} "$(DESTDIR)${bindir}"
159 for file in ${INSTALLABLES} ; do \
160 $(INSTALL_PROGRAM) $(INSTALL_STRIP) $${file} "$(DESTDIR)${bindir}"/`echo $${file} | sed -e 's/${EXEEXT}$$//' -e '$(TRANSFORM)'`${EXEEXT} ; \
161 done
162
163 uninstall:
164 for file in ${INSTALLABLES}; do \
165 rm -f "$(DESTDIR)${bindir}"/`echo $${file} | sed -e 's/${EXEEXT}$$//' -e '$(TRANSFORM)'`${EXEEXT} ; \
166 done
167 if [ -d "$(DESTDIR)${archlibdir}" ]; then \
168 (cd "$(DESTDIR)${archlibdir}" && rm -f ${UTILITIES}) \
169 fi
170
171 mostlyclean:
172 -rm -f core *.o *.res
173
174 clean: mostlyclean
175 -rm -f ${EXE_FILES}
176
177 distclean: clean
178 -rm -f TAGS
179 -rm -f Makefile
180
181 maintainer-clean: distclean
182 true
183
184 extraclean: maintainer-clean
185 -rm -f *~ \#*
186
187 ## Test the contents of the directory.
188 check:
189 @echo "We don't have any tests for the nt/ directory yet."
190
191 tags: TAGS
192 TAGS: ${EXE_FILES:${EXEEXT}=.c}
193 ../lib-src/etags *.[ch]
194
195 ## Build the programs
196 addsection${EXEEXT}: ${srcdir}/addsection.c
197 $(CC) ${ALL_CFLAGS} ${srcdir}/addsection.c -o addsection${EXEEXT}
198
199 addpm${EXEEXT}: ${srcdir}/addpm.c ../src/epaths.h
200 $(CC) ${ALL_CFLAGS} ${srcdir}/addpm.c $(LIBS_ADDPM) -o addpm${EXEEXT}
201
202 ddeclient${EXEEXT}: ${srcdir}/ddeclient.c
203 $(CC) ${ALL_CFLAGS} ${srcdir}/ddeclient.c -o ddeclient${EXEEXT}
204
205 cmdproxy${EXEEXT}: ${srcdir}/cmdproxy.c
206 $(CC) ${ALL_CFLAGS} ${srcdir}/cmdproxy.c -o cmdproxy${EXEEXT}
207
208 runemacs${EXEEXT}: ${srcdir}/runemacs.c $(EMACSRES)
209 $(CC) ${ALL_CFLAGS} ${srcdir}/runemacs.c $(EMACSRES) -mwindows \
210 -o runemacs${EXEEXT}
211
212 emacs.res: ${srcdir}/emacs.rc ${srcdir}/icons/emacs.ico ${srcdir}/$(EMACS_MANIFEST)
213 ${WINDRES} -I ${srcdir} -O coff -o emacs.res ${srcdir}/emacs.rc