# BEGINNING OF MAKE FILE....

##########################
## User settable macros ##
##########################

.extensions : .LNK

Compiler        	= wcc386

Compiler_Options 	= /ef /d2 /4r /zq /s /we -ecc



Build			: .\bin\dos\dosapi.exe .\bin\dos\dosapiex.exe .\bin\dos\dosrtc.exe .\bin\dos\dosgpio.exe .\bin\dos\gpiotest.exe  
#Build			: .\bin\ontime\ktapi.dll

clean			: .symbolic
				del /s *.exe *.obj *.lnk *.err
				

core 			: .\obj\dos.obj .\obj\api.obj	
				@echo .

####################
## Makefile rules ##
####################

#
# DOS
#
.\bin\dos\dosapi.exe : makefile  .\obj\apitest.obj .\obj\dos.obj .\obj\api.obj
			@Echo SYSTEM PMODEW > temp.lnk
			@Echo NAME .\bin\dos\dosapi.exe >> temp.lnk
			@Echo FILE .\obj\dos.obj >> temp.lnk
			@Echo FILE .\obj\api.obj >> temp.lnk
			@Echo FILE .\obj\apitest.obj >> temp.lnk
	       	@wlink @temp.lnk
#	    	@pmwlite /C4 .\bin\dos\dosapi.exe
#	     	@pmwsetup /b0 .\bin\dos\dosapi.exe
	     	@del temp.lnk

.\bin\dos\gpiotest.exe : makefile  .\obj\gpiotest.obj .\obj\dos.obj .\obj\api.obj
			@Echo SYSTEM PMODEW > temp.lnk
			@Echo NAME .\bin\dos\gpiotest.exe >> temp.lnk
			@Echo FILE .\obj\dos.obj >> temp.lnk
			@Echo FILE .\obj\api.obj >> temp.lnk
			@Echo FILE .\obj\gpiotest.obj >> temp.lnk
	       	@wlink @temp.lnk
	     	@del temp.lnk
	     	
.\bin\dos\dosapiex.exe : makefile  .\obj\apitestex.obj .\obj\dos.obj .\obj\api.obj
			@Echo SYSTEM PMODEW > temp.lnk
			@Echo NAME .\bin\dos\dosapiex.exe >> temp.lnk
			@Echo FILE .\obj\dos.obj >> temp.lnk
			@Echo FILE .\obj\api.obj >> temp.lnk
			@Echo FILE .\obj\apitestex.obj >> temp.lnk
	       	@wlink @temp.lnk
#	    	@pmwlite /C4 .\bin\dos\dosapiex.exe
#	     	@pmwsetup /b0 .\bin\dos\dosapiex.exe
	     	@del temp.lnk

.\bin\dos\dosrtc.exe : makefile  .\obj\apirtc.obj .\obj\dos.obj .\obj\api.obj
			@Echo SYSTEM PMODEW > temp.lnk
			@Echo NAME .\bin\dos\dosrtc.exe >> temp.lnk
			@Echo FILE .\obj\dos.obj >> temp.lnk
			@Echo FILE .\obj\api.obj >> temp.lnk
			@Echo FILE .\obj\apirtc.obj >> temp.lnk
	       	@wlink @temp.lnk
#	    	@pmwlite /C4 .\bin\dos\dosrtc.exe
#	     	@pmwsetup /b0 .\bin\dos\dosrtc.exe
	     	@del temp.lnk

.\bin\dos\dosgpio.exe : makefile  .\obj\apigpio.obj .\obj\dos.obj .\obj\api.obj
			@Echo SYSTEM PMODEW > temp.lnk
			@Echo NAME .\bin\dos\dosgpio.exe >> temp.lnk
			@Echo FILE .\obj\dos.obj >> temp.lnk
			@Echo FILE .\obj\api.obj >> temp.lnk
			@Echo FILE .\obj\apigpio.obj >> temp.lnk
	       	@wlink @temp.lnk
#	    	@pmwlite /C4 .\bin\dos\dosrtc.exe
#	     	@pmwsetup /b0 .\bin\dos\dosrtc.exe
	     	@del temp.lnk

#.\bin\OnTime\ktapi.dll  : makefile  .\obj\OnTime.obj .\obj\ontimedll.obj .\obj\ktapi32_bin.obj .\obj\api.obj
#			@Echo SYSTEM nt_dll > temp.lnk
#			@Echo NAME .\bin\ontime\ktapi.dll >> temp.lnk
#			@Echo FILE .\obj\OnTime.obj >> temp.lnk
#			@Echo FILE .\obj\api.obj >> temp.lnk
#			@Echo FILE .\obj\ontimedll.obj >> temp.lnk
#			@Echo FILE .\obj\ktapi32_bin.obj >> temp.lnk
#			@Echo FILE .\obj\Rtt32dll.lib >> temp.lnk
#			@Echo EXPORT =.\core\os\ontime\exports.lbc >> temp.lnk
#			@Echo OPTION IMPLIB=.\bin\ontime\ktapi.lib >> temp.lnk
#			@Echo OPTION NOSTDCALL >> temp.lnk
#       	@wlink @temp.lnk
			
			
.\obj\apigpio.obj: .\examples\apigpio\apigpio.c .\core\api.h
        $(Compiler) $(Compiler_Options) /fo=.\obj\apigpio.obj .\examples\apigpio\apigpio.c

.\obj\gpiotest.obj: .\examples\gpiotest\gpiotest.c .\core\api.h
        $(Compiler) $(Compiler_Options) /fo=.\obj\gpiotest.obj .\examples\gpiotest\gpiotest.c
		
			
			
.\obj\apitest.obj: .\examples\apitest\apitest.c .\core\api.h
        $(Compiler) $(Compiler_Options) /fo=.\obj\apitest.obj .\examples\apitest\apitest.c

.\obj\apirtc.obj: .\examples\apirtc\apirtc.c .\core\api.h
        $(Compiler) $(Compiler_Options) /fo=.\obj\apirtc.obj .\examples\apirtc\apirtc.c

.\obj\apitestex.obj: .\examples\apitestex\apitestex.c .\core\api.h
        $(Compiler) $(Compiler_Options) /fo=.\obj\apitestex.obj .\examples\apitestex\apitestex.c

.\obj\dos.obj: .\core\os\dos\dos.c .\core\api.h
        $(Compiler) $(Compiler_Options) /fo=.\obj\dos.obj .\core\os\dos\dos.c

.\obj\linuxuser.obj: .\core\os\linux\linuxuser.c .\core\api.h
        $(Compiler) $(Compiler_Options)  /fo=.\obj\linux.obj .\core\os\linux\linuxuser.c

.\obj\api.obj: .\core\api.c  .\core\api.h
        $(Compiler) $(Compiler_Options) /fo=.\obj\api.obj .\core\api.c 

.\obj\ontime.obj: .\core\os\ontime\ontime.c .\core\api.h
        $(Compiler) $(Compiler_Options) -ecc /fo=.\obj\ontime.obj .\core\os\ontime\ontime.c

.\obj\ontimedll.obj: .\core\os\ontime\ontimedll.c .\core\api.h
        $(Compiler) $(Compiler_Options) -ecc /fo=.\obj\ontimedll.obj .\core\os\ontime\ontimedll.c

	
.\obj\ktapi32_bin.obj: .\bin\bin\ktapi32.bin
	@.\tools\raw2c KTAPI_BIN .\bin\bin\ktapi32.bin .\obj\ktapi32_bin.c 
	$(Compiler) $(Compiler_Options) /fo=.\obj\ktapi32_bin .\obj\ktapi32_bin.c
		