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