blob: d8b2ba2b9b63d260a4c908367f8060ea811b0e43 [file] [log] [blame]
#############################################################################
#
# SciTech Multi-platform Graphics Library
#
# ========================================================================
#
# The contents of this file are subject to the SciTech MGL Public
# License Version 1.0 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.scitechsoft.com/mgl-license.txt
#
# Software distributed under the License is distributed on an
# "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is Copyright (C) 1991-1998 SciTech Software, Inc.
#
# The Initial Developer of the Original Code is SciTech Software, Inc.
# All Rights Reserved.
#
# ========================================================================
#
# Descripton: Generic DMAKE startup makefile definitions file. Assumes
# that the SCITECH environment variable has been set to point
# to where all our stuff is installed. You should not need
# to change anything in this file.
#
# Common startup script that defines all variables common to
# all startup scripts. These define the DMAKE runtime
# environment and the values are dependant on the version of
# DMAKE in use.
#
#############################################################################
# Disable warnings for macros redefined here that were given
# on the command line.
__.SILENT := $(.SILENT)
.SILENT := yes
# Import enivornment variables that we use common to all compilers
.IMPORT .IGNORE : TEMP SHELL COMSPEC INCLUDE LIB SCITECH PRIVATE SCITECH_LIB
.IMPORT .IGNORE : DBG OPT OPT_SIZE SHW BETA USE_WIN32 FPU BUILD_DLL BUILD_FOR_DLL
.IMPORT .IGNORE : IMPORT_DLL USE_TASMX WIN32_GUI USE_WIN16 USE_NASM CHECKED
.IMPORT .IGNORE : OS2_SHELL SOFTICE_PATH MAX_WARN USE_SOFTICE USE_TASM32
.IMPORT .IGNORE : DLL_START_TASM USE_SNAP USE_X11 USE_LINUX STATIC_LIBS LIBC
.IMPORT .IGNORE : SHOW_ARGS BOOT_STRAP_DMAKE
TMPDIR := $(TEMP)
# Determine if the host machine is a Windows/DOS or Unix box
.IF $(COMSPEC)
WIN32_HOST := 1
.ELSE
USE_NASM := 1
UNIX_HOST := 1
.ENDIF
# Setup to either user NASM or TASM as the assembler
.IF $(USE_NASM)
.ELSE
USE_TASM := 1
.ENDIF
.IF $(UNIX_HOST)
# Standard file suffix definitions
#
# NOTE: Linux/Unix does not require any extenion for executeable files, but you
# can use an extension if you wish. We use the .exe extension for building
# executeable files so that we can use implicit rules to make the
# makefiles simpler and more portable between systems (exe also makes it
# easier for cross-compile/debugging situations). When you install
# the files to a local bin directory, you will probably want to remove
# the .exe extension.
L := .a # Libraries
E := .exe # Executables for glibc
O := .o # Objects
A := .asm # Assembler sources
S := .s # GNU assembler sources
P := .cpp # C++ sources
# File prefix/suffix definitions. The following prefixes are defined, and are
# used primarily to abstract between the Unix style libXX.a naming convention
# and the DOS/Windows/OS2 naming convention of XX.lib.
LP := lib # LP - Library file prefix (name of file on disk)
LL := -l # Library link prefix (name of library on link command line)
LE := # Library link suffix (extension of library on link command line)
# We use the Unix shell at all times
SHELL := /bin/sh
SHELLFLAGS := -c
.ELSE
# Standard file DOS/Win/OS2 suffix definitions
L := .lib # Libraries
.IF $(USE_SNAP)
E := .sxe # Snap Executables
D := .sll # Snap Dynamic Link Library file
.ELSE
E := .exe # Executables
D := .dll # Dynamic Link Library file
.ENDIF
O := .obj # Objects
A := .asm # Assembler sources
P := .cpp # C++ sources
R := .res # Compiled resource file
S := .s # Assyntax.h style assembler
# File prefix/suffix definitions. The following prefixes are defined, and are
# used primarily to abstract between the Unix style libXX.a naming convention
# and the DOS/Windows/OS2 naming convention of XX.lib.
LP := # LP - Library file prefix (name of file on disk)
LL := # Library link prefix (name of library on link command line)
LE := .lib # Library link suffix (extension of library on link command line)
# We use the DOS/Win/OS2 style shell at all times
SHELL := $(COMSPEC)
GROUPSHELL := $(SHELL)
SHELLFLAGS := $(SWITCHAR)c
GROUPFLAGS := $(SHELLFLAGS)
SHELLMETAS := *"?<>
.IF $(OS2_SHELL)
GROUPSUFFIX := .cmd
.ELSE
GROUPSUFFIX := .bat
.ENDIF
DIRSEPSTR := \\
DIVFILE = $(TMPFILE:s,/,\)
.ENDIF
# Standard Unix style shell commands. Since these do not exist on
# regular DOS/Win/OS2 installations we use our own '' versions
# instead. To boostrtap a new OS you may wish to use the regular
# unix versions.
.IF $(BOOT_STRAP_DMAKE)
CP := cp
MD := mkdir
RM := rm
ECHO := echo
.ELSE
CP := k_cp
MD := k_md
RM := k_rm
ECHO := k_echo
.ENDIF
# Definition of $(MAKE) macro for recursive makes.
MAKE = $(MAKECMD) $(MFLAGS)
# Macro to install a library file
INSTALL := $(CP)
# DMAKE uses this recipe to remove intermediate targets
.REMOVE :; $(RM) -f $<
# Turn warnings back to previous setting.
.SILENT := $(__.SILENT)
# We dont use TABS in our makefiles
.NOTABS := yes