2 # FreeType 2 configuration file to detect a Win32 host platform.
6 # Copyright 1996-2000, 2003, 2004, 2006, 2007 by
7 # David Turner, Robert Wilhelm, and Werner Lemberg.
9 # This file is part of the FreeType project, and may only be used, modified,
10 # and distributed under the terms of the FreeType project license,
11 # LICENSE.TXT. By continuing to use, modify, or distribute this file you
12 # indicate that you have read the license and understand and accept it
19 ifeq ($(PLATFORM
),ansi
)
21 # Detecting Windows NT is easy, as the OS variable must be defined and
22 # contains `Windows_NT'. This also works with Windows 2000 and XP.
24 ifeq ($(OS
),Windows_NT
)
30 # Detecting Windows 9X
32 # We used to run the `ver' command to see if its output contains the
33 # word `Windows'. If this is true, we are running Windows 95 or later:
36 # # First, check if we have the COMSPEC environment variable, which
37 # # indicates we can use COMMAND.COM's internal commands
38 # is_windows := $(findstring Windows,$(strip $(shell ver)))
41 # Unfortunately, this also detects the case when one is running
42 # DOS 7.x (the MS-DOS version that lies below Windows) without actually
45 # A better test is to check whether there are both the environment
46 # variables `winbootdir' and `windir'. The first indicates an
47 # underlying DOS 7.x, while the second is set only if win32 is available.
49 # Note that on Windows NT, such an environment variable will not be seen
50 # from DOS-based tools like DJGPP's make; this is not actually a problem
51 # since NT is detected independently above. But do not try to be clever!
63 endif # test PLATFORM ansi
65 ifeq ($(PLATFORM
),win32
)
71 # Setting COPY is a bit trickier. Plain COPY on NT will not work
72 # correctly, because it will uppercase 8.3 filenames, creating a
73 # `CONFIG.MK' file which isn't found later on by `make'.
74 # Since we do not want that, we need to force execution of CMD.EXE.
75 # Unfortunately, CMD.EXE is not available on Windows 9X.
78 # Kudos to Eli Zaretskii (DJGPP guru) that helped debug it.
79 # Details are available in threads of the freetype mailing list
80 # (2004-11-11), and then in the devel mailing list (2004-11-20 to -23).
82 ifeq ($(OS
),Windows_NT
)
83 COPY
:= cmd.exe
/c copy
89 # gcc Makefile by default
90 CONFIG_FILE
:= w32-gcc.mk
91 ifeq ($(firstword $(CC
)),cc)
95 ifneq ($(findstring list
,$(MAKECMDGOALS
)),) # test for the "list" target
98 @echo
$(PROJECT_TITLE
) build system
-- supported compilers
100 @echo Several command-line compilers are supported on Win32
:
102 @echo ÿÿmake setupÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿgcc
(with Mingw
)
103 @echo ÿÿmake setup visualcÿÿÿÿÿÿÿÿÿÿÿÿÿMicrosoft Visual C
++
104 @echo ÿÿmake setup bcc32ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿBorland C
/C
++
105 @echo ÿÿmake setup lccÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿWin32-LCC
106 @echo ÿÿmake setup intelcÿÿÿÿÿÿÿÿÿÿÿÿÿÿIntel C
/C
++
109 setup
: dump_target_list
110 .PHONY
: dump_target_list list
115 # additionally, we provide hooks for various other compilers
117 ifneq ($(findstring visualc
,$(MAKECMDGOALS
)),) # Visual C/C++
118 CONFIG_FILE
:= w32-vcc.mk
124 ifneq ($(findstring intelc
,$(MAKECMDGOALS
)),) # Intel C/C++
125 CONFIG_FILE
:= w32-intl.mk
131 ifneq ($(findstring watcom
,$(MAKECMDGOALS
)),) # Watcom C/C++
132 CONFIG_FILE
:= w32-wat.mk
138 ifneq ($(findstring visualage
,$(MAKECMDGOALS
)),) # Visual Age C++
139 CONFIG_FILE
:= w32-icc.mk
145 ifneq ($(findstring lcc
,$(MAKECMDGOALS
)),) # LCC-Win32
146 CONFIG_FILE
:= w32-lcc.mk
152 ifneq ($(findstring mingw32
,$(MAKECMDGOALS
)),) # mingw32
153 CONFIG_FILE
:= w32-mingw32.mk
159 ifneq ($(findstring bcc32
,$(MAKECMDGOALS
)),) # Borland C++
160 CONFIG_FILE
:= w32-bcc.mk
166 ifneq ($(findstring devel-bcc
,$(MAKECMDGOALS
)),) # development target
167 CONFIG_FILE
:= w32-bccd.mk
173 ifneq ($(findstring devel-gcc
,$(MAKECMDGOALS
)),) # development target
174 CONFIG_FILE
:= w32-dev.mk
180 endif # test PLATFORM win32