|
|
|
@ -19,34 +19,47 @@ |
|
|
|
|
ifeq ($(PLATFORM),ansi) |
|
|
|
|
|
|
|
|
|
# Detecting Windows NT is easy, as the OS variable must be defined and
|
|
|
|
|
# contains `Windows_NT'. This also works with W2K, XP, and Windows 98.
|
|
|
|
|
# contains `Windows_NT'. This also works with Windows 2000, XP.
|
|
|
|
|
#
|
|
|
|
|
ifeq ($(OS),Windows_NT)
|
|
|
|
|
|
|
|
|
|
is_windows := 1
|
|
|
|
|
|
|
|
|
|
# We have to use the shell for copying files to preserve the case of
|
|
|
|
|
# file names. Without this, we get a `CONFIG.MK' file which isn't
|
|
|
|
|
# found later on by `make'.
|
|
|
|
|
COPY := cmd.exe /c copy
|
|
|
|
|
PLATFORM := win32
|
|
|
|
|
|
|
|
|
|
else
|
|
|
|
|
# We test for the COMSPEC environment variable, then run the `ver'
|
|
|
|
|
# command-line program to see if its output contains the word `Windows'.
|
|
|
|
|
#
|
|
|
|
|
# If this is true, we are running a win32 platform (or an emulation).
|
|
|
|
|
#
|
|
|
|
|
ifdef COMSPEC
|
|
|
|
|
is_windows := $(findstring Windows,$(strip $(shell ver)))
|
|
|
|
|
COPY := copy
|
|
|
|
|
endif
|
|
|
|
|
endif # test NT
|
|
|
|
|
|
|
|
|
|
ifdef is_windows
|
|
|
|
|
# Detecting Windows 9X
|
|
|
|
|
|
|
|
|
|
PLATFORM := win32
|
|
|
|
|
# We used to run the `ver' command to see if its output contains the
|
|
|
|
|
# word `Windows'. If this is true, we are running Windows 95 or later.
|
|
|
|
|
|
|
|
|
|
###ifdef COMSPEC
|
|
|
|
|
### First, check if we have the COMSPEC environment variable, which
|
|
|
|
|
### indicates we can use COMMAND.COM's internal commands
|
|
|
|
|
### is_windows := $(findstring Windows,$(strip $(shell ver)))
|
|
|
|
|
###endif
|
|
|
|
|
|
|
|
|
|
# Unfortunately, this also detects the case when one is running
|
|
|
|
|
# DOS 7.x (MS-DOS version that lies below Windows) without actually
|
|
|
|
|
# launching the GUI.
|
|
|
|
|
|
|
|
|
|
# A better test is to check is there are both %winbootdir% and %windir%
|
|
|
|
|
# environment variables. The first indicates underlying DOS 7.x, and
|
|
|
|
|
# the second is set only when Win32 is available.
|
|
|
|
|
|
|
|
|
|
# Note that on Windows NT, such environment variable will not be seen
|
|
|
|
|
# from DOS-based tools like DJGPP make; this is not actually a problem
|
|
|
|
|
# since NT is detected independantly above. But do not try to be clever!
|
|
|
|
|
|
|
|
|
|
ifdef winbootdir
|
|
|
|
|
ifdef windir
|
|
|
|
|
|
|
|
|
|
PLATFORM := win32
|
|
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
endif # test NT
|
|
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
endif # test PLATFORM ansi
|
|
|
|
|
|
|
|
|
|
ifeq ($(PLATFORM),win32) |
|
|
|
@ -54,6 +67,24 @@ ifeq ($(PLATFORM),win32) |
|
|
|
|
DELETE := del
|
|
|
|
|
SEP := $(BACKSLASH)
|
|
|
|
|
|
|
|
|
|
# Setting COPY is a bit trickier. Plain COPY on NT will not work
|
|
|
|
|
# correctly, because it will uppercase 8.3 filenames, so we will get
|
|
|
|
|
# a `CONFIG.MK' file which isn't found later on by `make'.
|
|
|
|
|
# And we do not want that. So we need to force execution of CMD.EXE.
|
|
|
|
|
# Unfortunately this latter is not available on Windows 9X...
|
|
|
|
|
# So we need to hack.
|
|
|
|
|
|
|
|
|
|
# Kudos to Eli Zaretskii (DJGPP guru) that helped debug it.
|
|
|
|
|
# Details available in threads in freetype mailing list (2004-11-11)
|
|
|
|
|
# and then devel mailing list (2004-11-20 to -23).
|
|
|
|
|
|
|
|
|
|
ifeq ($(OS),Windows_NT)
|
|
|
|
|
COPY := cmd.exe /c copy
|
|
|
|
|
else
|
|
|
|
|
COPY := copy
|
|
|
|
|
endif # test NT
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# gcc Makefile by default
|
|
|
|
|
CONFIG_FILE := w32-gcc.mk
|
|
|
|
|
ifeq ($(firstword $(CC)),cc)
|
|
|
|
|