| ############################################################################# |
| # |
| # 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 |