153 lines
3.6 KiB
Makefile
153 lines
3.6 KiB
Makefile
#
|
|
# FreeType 2 configuration file to detect a DOS host platform.
|
|
#
|
|
|
|
|
|
# Copyright 1996-2019 by
|
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
|
#
|
|
# This file is part of the FreeType project, and may only be used, modified,
|
|
# and distributed under the terms of the FreeType project license,
|
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
|
# indicate that you have read the license and understand and accept it
|
|
# fully.
|
|
|
|
|
|
.PHONY: setup
|
|
|
|
|
|
ifeq ($(PLATFORM),ansi)
|
|
|
|
# Test for DJGPP by checking the DJGPP environment variable, which must be
|
|
# set in order to use the system (ie. it will always be present when the
|
|
# `make' utility is run).
|
|
#
|
|
# We test for the COMSPEC environment variable, then run the `ver'
|
|
# command-line program to see if its output contains the word `Dos' or
|
|
# `DOS'.
|
|
#
|
|
# If this is true, we are running a Dos-ish platform (or an emulation).
|
|
#
|
|
ifdef DJGPP
|
|
PLATFORM := dos
|
|
else
|
|
ifdef COMSPEC
|
|
is_dos := $(findstring DOS,$(subst Dos,DOS,$(shell ver)))
|
|
|
|
# We try to recognize a Dos session under OS/2. The `ver' command
|
|
# returns `Operating System/2 ...' there, so `is_dos' should be empty.
|
|
#
|
|
# To recognize a Dos session under OS/2, we check COMSPEC for the
|
|
# substring `MDOS\COMMAND'
|
|
#
|
|
ifeq ($(is_dos),)
|
|
is_dos := $(findstring MDOS\COMMAND,$(COMSPEC))
|
|
endif
|
|
|
|
# We also try to recognize Dos 7.x without Windows 9X launched.
|
|
# See builds/windows/detect.mk for explanations about the logic.
|
|
#
|
|
ifeq ($(is_dos),)
|
|
ifdef winbootdir
|
|
#ifneq ($(OS),Windows_NT)
|
|
# If windows is available, do not trigger this test.
|
|
ifndef windir
|
|
is_dos := $(findstring Windows,$(strip $(shell ver)))
|
|
endif
|
|
#endif
|
|
endif
|
|
endif
|
|
|
|
endif # test COMSPEC
|
|
|
|
ifneq ($(is_dos),)
|
|
|
|
PLATFORM := dos
|
|
|
|
endif # test Dos
|
|
endif # test DJGPP
|
|
endif # test PLATFORM ansi
|
|
|
|
ifeq ($(PLATFORM),dos)
|
|
|
|
# Use DJGPP (i.e. gcc) by default.
|
|
#
|
|
CONFIG_FILE := dos-gcc.mk
|
|
CC ?= gcc
|
|
|
|
# additionally, we provide hooks for various other compilers
|
|
#
|
|
ifneq ($(findstring emx,$(MAKECMDGOALS)),) # EMX gcc
|
|
CONFIG_FILE := dos-emx.mk
|
|
CC := gcc
|
|
|
|
.PHONY: emx
|
|
emx: setup
|
|
@cd .
|
|
endif
|
|
|
|
ifneq ($(findstring turboc,$(MAKECMDGOALS)),) # Turbo C
|
|
CONFIG_FILE := dos-tcc.mk
|
|
CC := tcc
|
|
|
|
.PHONY: turboc
|
|
turboc: setup
|
|
@cd .
|
|
endif
|
|
|
|
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++
|
|
CONFIG_FILE := dos-wat.mk
|
|
CC := wcc386
|
|
|
|
.PHONY: watcom
|
|
watcom: setup
|
|
@cd .
|
|
endif
|
|
|
|
ifneq ($(findstring borlandc,$(MAKECMDGOALS)),) # Borland C/C++ 32-bit
|
|
CONFIG_FILE := dos-bcc.mk
|
|
CC := bcc32
|
|
|
|
.PHONY: borlandc
|
|
borlandc: setup
|
|
@cd .
|
|
endif
|
|
|
|
ifneq ($(findstring borlandc16,$(MAKECMDGOALS)),) # Borland C/C++ 16-bit
|
|
CONFIG_FILE := dos-bcc.mk
|
|
CC := bcc
|
|
|
|
.PHONY: borlandc16
|
|
borlandc16: setup
|
|
@cd .
|
|
endif
|
|
|
|
ifneq ($(findstring bash,$(SHELL)),) # check for bash
|
|
SEP := /
|
|
DELETE := rm
|
|
COPY := cp
|
|
CAT := cat
|
|
setup: std_setup
|
|
else
|
|
SEP := $(BACKSLASH)
|
|
DELETE := del
|
|
CAT := type
|
|
|
|
# Setting COPY is a bit trickier. We can be running DJGPP on some
|
|
# Windows NT derivatives, like XP. See builds/windows/detect.mk for
|
|
# explanations why we need hacking here.
|
|
#
|
|
ifeq ($(OS),Windows_NT)
|
|
COPY := cmd.exe /c copy
|
|
else
|
|
COPY := copy
|
|
endif # test NT
|
|
|
|
setup: std_setup
|
|
endif
|
|
|
|
endif # test PLATFORM dos
|
|
|
|
|
|
# EOF
|