1 # 2 # FreeType 2 configuration file to detect a DOS host platform. 3 # 4 5 6 # Copyright 1996-2015 by 7 # David Turner, Robert Wilhelm, and Werner Lemberg. 8 # 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 13 # fully. 14 15 16 .PHONY: setup 17 18 19 ifeq ($(PLATFORM),ansi) 20 21 # Test for DJGPP by checking the DJGPP environment variable, which must be 22 # set in order to use the system (ie. it will always be present when the 23 # `make' utility is run). 24 # 25 # We test for the COMSPEC environment variable, then run the `ver' 26 # command-line program to see if its output contains the word `Dos' or 27 # `DOS'. 28 # 29 # If this is true, we are running a Dos-ish platform (or an emulation). 30 # 31 ifdef DJGPP 32 PLATFORM := dos 33 else 34 ifdef COMSPEC 35 is_dos := $(findstring DOS,$(subst Dos,DOS,$(shell ver))) 36 37 # We try to recognize a Dos session under OS/2. The `ver' command 38 # returns `Operating System/2 ...' there, so `is_dos' should be empty. 39 # 40 # To recognize a Dos session under OS/2, we check COMSPEC for the 41 # substring `MDOS\COMMAND' 42 # 43 ifeq ($(is_dos),) 44 is_dos := $(findstring MDOS\COMMAND,$(COMSPEC)) 45 endif 46 47 # We also try to recognize Dos 7.x without Windows 9X launched. 48 # See builds/windows/detect.mk for explanations about the logic. 49 # 50 ifeq ($(is_dos),) 51 ifdef winbootdir 52 #ifneq ($(OS),Windows_NT) 53 # If windows is available, do not trigger this test. 54 ifndef windir 55 is_dos := $(findstring Windows,$(strip $(shell ver))) 56 endif 57 #endif 58 endif 59 endif 60 61 endif # test COMSPEC 62 63 ifneq ($(is_dos),) 64 65 PLATFORM := dos 66 67 endif # test Dos 68 endif # test DJGPP 69 endif # test PLATFORM ansi 70 71 ifeq ($(PLATFORM),dos) 72 73 # Use DJGPP (i.e. gcc) by default. 74 # 75 CONFIG_FILE := dos-gcc.mk 76 CC ?= gcc 77 78 # additionally, we provide hooks for various other compilers 79 # 80 ifneq ($(findstring emx,$(MAKECMDGOALS)),) # EMX gcc 81 CONFIG_FILE := dos-emx.mk 82 CC := gcc 83 emx: setup 84 .PHONY: emx 85 endif 86 87 ifneq ($(findstring turboc,$(MAKECMDGOALS)),) # Turbo C 88 CONFIG_FILE := dos-tcc.mk 89 CC := tcc 90 turboc: setup 91 .PHONY: turboc 92 endif 93 94 ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++ 95 CONFIG_FILE := dos-wat.mk 96 CC := wcc386 97 watcom: setup 98 .PHONY: watcom 99 endif 100 101 ifneq ($(findstring borlandc,$(MAKECMDGOALS)),) # Borland C/C++ 32-bit 102 CONFIG_FILE := dos-bcc.mk 103 CC := bcc32 104 borlandc: setup 105 .PHONY: borlandc 106 endif 107 108 ifneq ($(findstring borlandc16,$(MAKECMDGOALS)),) # Borland C/C++ 16-bit 109 CONFIG_FILE := dos-bcc.mk 110 CC := bcc 111 borlandc16: setup 112 .PHONY: borlandc16 113 endif 114 115 ifneq ($(findstring bash,$(SHELL)),) # check for bash 116 SEP := / 117 DELETE := rm 118 COPY := cp 119 CAT := cat 120 setup: std_setup 121 else 122 SEP := $(BACKSLASH) 123 DELETE := del 124 CAT := type 125 126 # Setting COPY is a bit trickier. We can be running DJGPP on some 127 # Windows NT derivatives, like XP. See builds/windows/detect.mk for 128 # explanations why we need hacking here. 129 # 130 ifeq ($(OS),Windows_NT) 131 COPY := cmd.exe /c copy 132 else 133 COPY := copy 134 endif # test NT 135 136 setup: dos_setup 137 endif 138 139 endif # test PLATFORM dos 140 141 142 # EOF 143