# Makefile for qemu target independent devices.

include ../config-host.mak
include ../config-all-devices.mak
include config.mak
include $(SRC_PATH)/rules.mak

.PHONY: all

$(call set-vpath, $(SRC_PATH))

QEMU_CFLAGS+=-I..
QEMU_CFLAGS += -I$(SRC_PATH)/include

include $(SRC_PATH)/Makefile.objs

all: $(hw-obj-y)
# Dummy command so that make thinks it has done something
	@true

clean:
	rm -f $(addsuffix /*.o, $(dir $(sort $(hw-obj-y))))
	rm -f $(addsuffix /*.d, $(dir $(sort $(hw-obj-y))))

# Include automatically generated dependency files
-include $(patsubst %.o, %.d, $(hw-obj-y))
