# Makefile for qemu target independent user files.

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

.PHONY: all

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

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

include $(SRC_PATH)/Makefile.objs

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

clean:
	for d in . trace; do \
	rm -f $$d/*.o $$d/*.d $$d/*.a $$d/*~; \
	done

# Include automatically generated dependency files
-include $(wildcard *.d)
