# -*- Makefile -*- definition file for building GNU Emacs on Windows NT.
-# Copyright (C) 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-#
-# GNU Emacs is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Emacs is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Emacs; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-# Boston, MA 02110-1301, USA.
+# Copyright (C) 2000-2011 Free Software Foundation, Inc.
+
+# This file is part of GNU Emacs.
+
+# GNU Emacs is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# GNU Emacs is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
# Ensure 'all' is the default target
all:
ifdef USING_SH
sh_output := $(shell echo [Please ignore a syntax error on the next line - it is intentional] 1>&2)
sh_output := $(shell echo foo")
+# This single quote " is to fix fintification due to previous line
ifeq "$(sh_output)" ""
NEW_CYGWIN = 1
endif
ifeq "$(PROCESSOR_ARCHITECTURE)" "PPC"
ARCH = ppc
else
-error Unknown architecture type "$(PROCESSOR_ARCHITECTURE)"
+ $(error Unknown architecture type "$(PROCESSOR_ARCHITECTURE)")
endif
endif
endif
WINSPOOL = -lwinspool
OLE32 = -lole32
UNISCRIBE = -lusp10
-
-ifdef USE_FONTBACKEND
-FONT_CFLAGS = -DUSE_FONT_BACKEND=1
-else
-FONT_CFLAGS =
-endif
+UUID = -luuid
ifdef NOOPT
DEBUG_CFLAGS = -DEMACSDEBUG
else
DEBUG_CFLAGS =
endif
-CFLAGS = -I. -DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0400 \
- $(ARCH_CFLAGS) -D$(ARCH) -D_CRTAPI1=_cdecl \
- $(DEBUG_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS)
-EMACS_EXTRA_C_FLAGS = -DUSE_CRT_DLL=1 $(FONT_CFLAGS)
+
+ifdef ENABLECHECKS
+CHECKING_CFLAGS = -DENABLE_CHECKING -DXASSERTS -fno-crossjumping
+else
+CHECKING_CFLAGS =
+endif
+
+CFLAGS = -I. $(ARCH_CFLAGS) $(DEBUG_CFLAGS) $(CHECKING_CFLAGS) $(PROFILE_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS)
+ESC_CFLAGS = -I. $(ARCH_CFLAGS) $(DEBUG_CFLAGS) $(CHECKING_CFLAGS) $(PROFILE_CFLAGS) $(ESC_USER_CFLAGS) $(LOCAL_FLAGS)
+EMACS_EXTRA_C_FLAGS = -DUSE_CRT_DLL=1
+
+ifdef PROFILE
+PROFILE_CFLAGS = -pg
+PROFILE_LDFLAGS = -pg
+else
+PROFILE_CFLAGS =
+PROFILE_LDFLAGS =
+endif
+
# see comments in allocate_heap in w32heap.c before changing any of the
# -stack, -heap, or -image-base settings.
DEBUG_FLAG =
DEBUG_LINK =
else
-DEBUG_FLAG = -gstabs+ -g3
-DEBUG_LINK = -gstabs+ -g3
+DEBUG_FLAG = $(DEBUG_INFO)
+DEBUG_LINK = $(DEBUG_INFO)
endif
ifdef NOCYGWIN
NOCYGWIN = -mno-cygwin
endif
+ifdef USER_LIBS
+USER_LIBS := $(patsubst %,-l%,$(USER_LIBS))
+endif
+
ifeq "$(ARCH)" "i386"
ifdef NOOPT
-ARCH_CFLAGS = -D_X86_=1 -c $(DEBUG_FLAG) $(NOCYGWIN)
+ARCH_CFLAGS = -c $(DEBUG_FLAG) $(NOCYGWIN)
else
-ARCH_CFLAGS = -D_X86_=1 -c $(DEBUG_FLAG) $(NOCYGWIN) $(MCPU_FLAG) -O2 \
+ARCH_CFLAGS = -c $(DEBUG_FLAG) $(NOCYGWIN) $(MCPU_FLAG) -O2 \
# -fbuiltin \
# -finline-functions \
# -fomit-frame-pointer
ERROR Unknown architecture type "$(ARCH)".
endif
-LINK_FLAGS = $(ARCH_LDFLAGS) $(DEBUG_LINK) $(NOCYGWIN) $(USER_LDFLAGS)
+LINK_FLAGS = $(ARCH_LDFLAGS) $(DEBUG_LINK) $(PROFILE_LDFLAGS) $(NOCYGWIN) $(USER_LDFLAGS)
export XMFLAGS
$(BLD)/%.o: %.c
$(CC) $(CFLAGS) $(CC_OUT)$@ $<
-# arch-tag: 35eb9662-8534-4bcf-b891-0730a09d657f