# flags
Cflags       = -c -depend !Depend -IC: -throwback $(if $(DEBUG), -g)
C++flags     = -c++ -depend !Depend -IC: -throwback $(if $(DEBUG), -g)
Linkflags    = -aif -c++ $(if $(DEBUG), -d) -o  $@
WipeFlags    = ~CF~RV

# tools
Cc           = cc
C++          = c++
Link         = link
Wipe         = wipe

Libraries    = C:o.stubs



Target       = ^.!Runimage

Objects      = o.usb o.main


$(Target):   $(Objects)
        $(Link) $(Linkflags) $(Objects) $(Libraries)


clean: ;$(Wipe) o.* $(WipeFlags)

.SUFFIXES: .o .c .c++
.c++.o:; $(C++) $(C++flags) -o $@ $<
.c.o:;   $(Cc)  $(Cflags) -o $@ $<


# Dynamic dependencies:
o.usb:	c.usb
o.usb:	h.usb
o.usb:	C:h.swis
o.usb:	C:h.kernel
o.usb:	C:h.stdint
o.usb:	C:h.kernel
o.main:	c.main
o.main:	h.usb
o.main:	C:h.swis
o.main:	C:h.kernel
o.main:	C:h.stdint
o.main:	h.USBAudio1
o.main:	h.usb
o.main:	h.USBAudio2
o.main:	h.usb
o.main:	h.USBVideo1
o.main:	h.HID
o.main:	h.usb
