#
#  Do not edit this file.  This file is generated from 
#  package.bld.  Any modifications to this file will be 
#  overwritten whenever makefiles are re-generated.
#
#  target compatibility key = gnu.targets.Mingw{1,0,3.4,5
#
ifneq (clean,$(MAKECMDGOALS))
-include package/lib/lib/acme.utils.clocks/ClockStd.o86GW.dep
endif

package/lib/lib/acme.utils.clocks/ClockStd.o86GW: | .interfaces
package/lib/lib/acme.utils.clocks/ClockStd.o86GW: ClockStd.c lib/acme.utils.clocks.a86GW.mak
	@$(RM) $@.dep
	$(RM) $@
	@$(MSG) cl86GW $< ...
	$(gnu.targets.Mingw.rootDir)//bin/mingw32-gcc.exe -c  -x c  -Wunused  -Dfar=  -Dxdc_target_name__=Mingw -Dxdc_target_types__=gnu/targets/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_3_4_5 -O2  $(XDCINCS)  -o $@ $<
	$(MKDEP) -o $@.dep -p package/lib/lib/acme.utils.clocks/ -s o86GW $< -C -Wunused  -Dfar=  -Dxdc_target_name__=Mingw -Dxdc_target_types__=gnu/targets/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_3_4_5 -O2  $(XDCINCS) 
	-@$(FIXDEP) $@.dep $@.dep
	
package/lib/lib/acme.utils.clocks/ClockStd.o86GW:LD_LIBRARY_PATH=
package/lib/lib/acme.utils.clocks/ClockStd.o86GW: PATH:=.;$(gnu.targets.Mingw.rootDir)/bin;$(PATH)
package/lib/lib/acme.utils.clocks/ClockStd.o86GW: Path:=.;$(gnu.targets.Mingw.rootDir)/bin;$(PATH)

package/lib/lib/acme.utils.clocks/ClockStd.s86GW: | .interfaces
package/lib/lib/acme.utils.clocks/ClockStd.s86GW: ClockStd.c lib/acme.utils.clocks.a86GW.mak
	@$(RM) $@.dep
	$(RM) $@
	@$(MSG) cl86GW -S $< ...
	$(gnu.targets.Mingw.rootDir)//bin/mingw32-gcc.exe -c  -x c -S -Wunused  -Dfar=  -Dxdc_target_name__=Mingw -Dxdc_target_types__=gnu/targets/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_3_4_5 -O2  $(XDCINCS)  -o $@ $<
	$(MKDEP) -o $@.dep -p package/lib/lib/acme.utils.clocks/ -s o86GW $< -C -Wunused  -Dfar=  -Dxdc_target_name__=Mingw -Dxdc_target_types__=gnu/targets/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_3_4_5 -O2  $(XDCINCS) 
	-@$(FIXDEP) $@.dep $@.dep
	
package/lib/lib/acme.utils.clocks/ClockStd.s86GW:LD_LIBRARY_PATH=
package/lib/lib/acme.utils.clocks/ClockStd.s86GW: PATH:=.;$(gnu.targets.Mingw.rootDir)/bin;$(PATH)
package/lib/lib/acme.utils.clocks/ClockStd.s86GW: Path:=.;$(gnu.targets.Mingw.rootDir)/bin;$(PATH)

ifneq (clean,$(MAKECMDGOALS))
-include package/lib/lib/acme.utils.clocks/package/package_acme.utils.clocks.o86GW.dep
endif

package/lib/lib/acme.utils.clocks/package/package_acme.utils.clocks.o86GW: | .interfaces
package/lib/lib/acme.utils.clocks/package/package_acme.utils.clocks.o86GW: package/package_acme.utils.clocks.c lib/acme.utils.clocks.a86GW.mak
	@$(RM) $@.dep
	$(RM) $@
	@$(MSG) cl86GW $< ...
	$(gnu.targets.Mingw.rootDir)//bin/mingw32-gcc.exe -c  -x c  -Wunused  -Dfar=  -Dxdc_target_name__=Mingw -Dxdc_target_types__=gnu/targets/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_3_4_5 -O2  $(XDCINCS)  -o $@ $<
	$(MKDEP) -o $@.dep -p package/lib/lib/acme.utils.clocks/package/ -s o86GW $< -C -Wunused  -Dfar=  -Dxdc_target_name__=Mingw -Dxdc_target_types__=gnu/targets/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_3_4_5 -O2  $(XDCINCS) 
	-@$(FIXDEP) $@.dep $@.dep
	
package/lib/lib/acme.utils.clocks/package/package_acme.utils.clocks.o86GW:LD_LIBRARY_PATH=
package/lib/lib/acme.utils.clocks/package/package_acme.utils.clocks.o86GW: PATH:=.;$(gnu.targets.Mingw.rootDir)/bin;$(PATH)
package/lib/lib/acme.utils.clocks/package/package_acme.utils.clocks.o86GW: Path:=.;$(gnu.targets.Mingw.rootDir)/bin;$(PATH)

package/lib/lib/acme.utils.clocks/package/package_acme.utils.clocks.s86GW: | .interfaces
package/lib/lib/acme.utils.clocks/package/package_acme.utils.clocks.s86GW: package/package_acme.utils.clocks.c lib/acme.utils.clocks.a86GW.mak
	@$(RM) $@.dep
	$(RM) $@
	@$(MSG) cl86GW -S $< ...
	$(gnu.targets.Mingw.rootDir)//bin/mingw32-gcc.exe -c  -x c -S -Wunused  -Dfar=  -Dxdc_target_name__=Mingw -Dxdc_target_types__=gnu/targets/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_3_4_5 -O2  $(XDCINCS)  -o $@ $<
	$(MKDEP) -o $@.dep -p package/lib/lib/acme.utils.clocks/package/ -s o86GW $< -C -Wunused  -Dfar=  -Dxdc_target_name__=Mingw -Dxdc_target_types__=gnu/targets/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_3_4_5 -O2  $(XDCINCS) 
	-@$(FIXDEP) $@.dep $@.dep
	
package/lib/lib/acme.utils.clocks/package/package_acme.utils.clocks.s86GW:LD_LIBRARY_PATH=
package/lib/lib/acme.utils.clocks/package/package_acme.utils.clocks.s86GW: PATH:=.;$(gnu.targets.Mingw.rootDir)/bin;$(PATH)
package/lib/lib/acme.utils.clocks/package/package_acme.utils.clocks.s86GW: Path:=.;$(gnu.targets.Mingw.rootDir)/bin;$(PATH)

clean,86GW ::
	-$(RM) package/lib/lib/acme.utils.clocks/ClockStd.o86GW
	-$(RM) package/lib/lib/acme.utils.clocks/package/package_acme.utils.clocks.o86GW
	-$(RM) package/lib/lib/acme.utils.clocks/ClockStd.s86GW
	-$(RM) package/lib/lib/acme.utils.clocks/package/package_acme.utils.clocks.s86GW

lib/acme.utils.clocks.a86GW: package/lib/lib/acme.utils.clocks/ClockStd.o86GW package/lib/lib/acme.utils.clocks/package/package_acme.utils.clocks.o86GW lib/acme.utils.clocks.a86GW.mak

clean::
	-$(RM) lib/acme.utils.clocks.a86GW.mak
