67 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
		
		
			
		
	
	
			67 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| 
								 | 
							
								# usage: nmake /f Makefile.windows [clean]
							 | 
						||
| 
								 | 
							
								# /*----------------------------------------------------------------------------*/
							 | 
						||
| 
								 | 
							
								# /*                                                                            */
							 | 
						||
| 
								 | 
							
								# /* Copyright (c) 2021 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.               */
							 | 
						||
| 
								 | 
							
								# /*                                                                            */
							 | 
						||
| 
								 | 
							
								# /*----------------------------------------------------------------------------*/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								!IF DEFINED(REXX_HOME)
							 | 
						||
| 
								 | 
							
								INCLUDE = $(INCLUDE);$(REXX_HOME)\api
							 | 
						||
| 
								 | 
							
								LIB = $(LIB);$(REXX_HOME)\api
							 | 
						||
| 
								 | 
							
								!ENDIF
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								WARNINGFLAGS = /W3 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								REXX_LIBS = rexxapi.lib
							 | 
						||
| 
								 | 
							
								OOREXX_CFLAGS = /nologo /EHsc /O2 /Gs /FAcs /MT $(WARNINGFLAGS) /c
							 | 
						||
| 
								 | 
							
								DLL_LFLAGS = /nologo /SUBSYSTEM:Windows $(REXX_LIBS) /DLL
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# default targets
							 | 
						||
| 
								 | 
							
								all:  external_routines external_methods external_methods_routines
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								external_routines:
							 | 
						||
| 
								 | 
							
									cl $(OOREXX_CFLAGS) /Fo$(@B).obj  $(@B).cpp
							 | 
						||
| 
								 | 
							
									link $(DLL_LFLAGS) $(@B).obj -out:$(@B).dll
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								external_methods:
							 | 
						||
| 
								 | 
							
									cl $(OOREXX_CFLAGS) /Fo$(@B).obj  $(@B).cpp
							 | 
						||
| 
								 | 
							
									link $(DLL_LFLAGS) $(@B).obj -out:$(@B).dll
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								external_methods_routines:
							 | 
						||
| 
								 | 
							
									cl $(OOREXX_CFLAGS) /Fo$(@B).obj  $(@B).cpp
							 | 
						||
| 
								 | 
							
									link $(DLL_LFLAGS) $(@B).obj -out:$(@B).dll
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								clean:
							 | 
						||
| 
								 | 
							
									del *.exe *.dll *.obj *.ilk *.pdb *.lib *.exp *.suo *.cod 1>nul 2>&1
							 |