Tizen 2.0 Release
[framework/graphics/freetype.git] / builds / dos / detect.mk
1 #
2 # FreeType 2 configuration file to detect a DOS host platform.
3 #
4
5
6 # Copyright 1996-2000, 2003, 2004, 2006 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/win32/detect.mk for explanations about the logic.
49       #
50       ifeq ($(is_dos),)
51         ifdef winbootdir
52 #ifneq ($(OS),Windows_NT)
53           # If win32 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/win32/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