101 lines
5.0 KiB
Makefile
101 lines
5.0 KiB
Makefile
#/*----------------------------------------------------------------------------*/
|
|
#/* */
|
|
#/* Copyright (c) 2008-2014 Rexx Language Association. All rights reserved. */
|
|
#/* */
|
|
#/* This program and the accompanying materials are made available under */
|
|
#/* the terms of the Common Public License v1.0 which accompanies this */
|
|
#/* distribution. A copy is also available at the following address: */
|
|
#/* https://www.oorexx.org/license.html */
|
|
#/* */
|
|
#/* Redistribution and use in source and binary forms, with or */
|
|
#/* without modification, are permitted provided that the following */
|
|
#/* conditions are met: */
|
|
#/* */
|
|
#/* Redistributions of source code must retain the above copyright */
|
|
#/* notice, this list of conditions and the following disclaimer. */
|
|
#/* Redistributions in binary form must reproduce the above copyright */
|
|
#/* notice, this list of conditions and the following disclaimer in */
|
|
#/* the documentation and/or other materials provided with the distribution. */
|
|
#/* */
|
|
#/* Neither the name of Rexx Language Association nor the names */
|
|
#/* of its contributors may be used to endorse or promote products */
|
|
#/* derived from this software without specific prior written permission. */
|
|
#/* */
|
|
#/* THIS SOFTWARE IS PROVIDED BY THE COPYright HOLDERS AND CONTRIBUTORS */
|
|
#/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */
|
|
#/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */
|
|
#/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYright */
|
|
#/* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */
|
|
#/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */
|
|
#/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
|
|
#/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY */
|
|
#/* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
|
|
#/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */
|
|
#/* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
|
|
#/* */
|
|
#/*----------------------------------------------------------------------------*/
|
|
|
|
# This is a Visual C++, nMake compatible make file.
|
|
#
|
|
# The compiler needs to be able to find the ooRexx native API headers and
|
|
# libraries. If REXX_HOME is set on the system, the correct directory will be
|
|
# automatically added to the LIB and INCLUDE environment variables by this make
|
|
# file.
|
|
#
|
|
# Otherwise, either uncomment the next line and define the correct REXX_HOME, or
|
|
# be sure the LIB and INCLUDE environment variables allow the compiler to find
|
|
# the ooRexx native API headers and libraries.
|
|
#
|
|
# On a build system for ooRexx, you can set REXX_HOME to point to Win32Dbg or
|
|
# Win32Rel, as appropriate, in your build directory. For this to work, you
|
|
# will have to have built the interpreter.
|
|
|
|
#REXX_HOME = C:\work.ooRexx\wc\main\Win32Dbg # For example
|
|
|
|
# Define RELEASE on the command line, or here, to build a non-debug version. By
|
|
# default debug versions are built. I.e. nMake RELEASE=1 /F Makefile
|
|
#RELEASE = 1
|
|
|
|
|
|
!IF DEFINED(REXX_HOME)
|
|
INCLUDE = $(INCLUDE);$(REXX_HOME)\api
|
|
LIB = $(LIB);$(REXX_HOME)\api
|
|
!ENDIF
|
|
|
|
REXX_LIBS = rexx.lib rexxapi.lib
|
|
|
|
WARNINGFLAGS = /W3 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE
|
|
|
|
!IF DEFINED(RELEASE)
|
|
|
|
OOREXX_CFLAGS = /nologo /EHsc /O2 /Gs /FAcs /MT $(WARNINGFLAGS) /c
|
|
EXE_LFLAGS = /nologo /SUBSYSTEM:Console $(REXX_LIBS) user32.lib comdlg32.lib gdi32.lib kernel32.lib
|
|
DLL_LFLAGS = /nologo /SUBSYSTEM:Windows $(REXX_LIBS) /DLL
|
|
|
|
!ELSE
|
|
|
|
OOREXX_CFLAGS = /nologo /EHsc /Zi /Od /MTd $(WARNINGFLAGS) /c
|
|
EXE_LFLAGS = /nologo /DEBUG -debugtype:cv /SUBSYSTEM:Console $(REXX_LIBS) user32.lib comdlg32.lib gdi32.lib kernel32.lib
|
|
DLL_LFLAGS = /nologo /DEBUG -debugtype:cv /SUBSYSTEM:Windows $(REXX_LIBS) /DLL
|
|
|
|
!ENDIF
|
|
|
|
# What we want to build.
|
|
all: stackOverflow.exe runRexxProgram.exe
|
|
|
|
stackOverflow.obj: stackOverflow.cpp
|
|
cl $(OOREXX_CFLAGS) stackOverflow.cpp
|
|
|
|
stackOverflow.exe: stackOverflow.obj
|
|
link $(EXE_LFLAGS) stackOverflow.obj -out:$(@B).exe
|
|
|
|
runRexxProgram.obj: runRexxProgram.cpp
|
|
cl $(OOREXX_CFLAGS) runRexxProgram.cpp
|
|
|
|
runRexxProgram.exe: runRexxProgram.obj
|
|
link $(EXE_LFLAGS) runRexxProgram.obj -out:$(@B).exe
|
|
|
|
clean:
|
|
del *.exe *.dll *.obj *.ilk *.pdb *.lib *.exp *.suo *.cod 1>nul 2>&1
|
|
|