Edit

kc3-lang/freetype/builds/dos/detect.mk

Branch :

  • Show log

    Commit

  • Author : Werner Lemberg
    Date : 2022-01-11 10:54:10
    Hash : d0cfb4e1
    Message : Update all copyright notices.

  • builds/dos/detect.mk
  • #
    # FreeType 2 configuration file to detect a DOS host platform.
    #
    
    
    # Copyright (C) 1996-2022 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