# These are special

$(BUILD)/etc/pcid/initfs.toml: $(shell find ./sources/drivers -type f -not -path "*/target/*")
	@mkdir -p $(BUILD)/etc/pcid
	cp sources/drivers/initfs.toml $@

# These go in bin

$(BUILD)/bin/pcid: $(shell find ./sources/drivers -type f -not -path "*/target/*")
	@mkdir -p $(BUILD)/bin
	cd sources/drivers && \
		$(CARGO) build --release --target x86_64-unknown-redox -p pcid
	cp sources/drivers/target/x86_64-unknown-redox/release/pcid $@

$(BUILD)/bin/fbcond: $(shell find ./sources/drivers -type f -not -path "*/target/*")
	@mkdir -p $(BUILD)/bin
	cd sources/drivers && \
		$(CARGO) build --release --target x86_64-unknown-redox -p fbcond
	cp sources/drivers/target/x86_64-unknown-redox/release/fbcond $@

$(BUILD)/bin/inputd: $(shell find ./sources/drivers -type f -not -path "*/target/*")
	@mkdir -p $(BUILD)/bin
	cd sources/drivers && \
		$(CARGO) build --release --target x86_64-unknown-redox -p inputd
	cp sources/drivers/target/x86_64-unknown-redox/release/inputd $@

$(BUILD)/bin/vesad: $(shell find ./sources/drivers -type f -not -path "*/target/*")
	@mkdir -p $(BUILD)/bin
	cd sources/drivers && \
		$(CARGO) build --release --target x86_64-unknown-redox -p vesad
	cp sources/drivers/target/x86_64-unknown-redox/release/vesad $@

$(BUILD)/bin/lived: $(shell find ./sources/drivers -type f -not -path "*/target/*")
	@mkdir -p $(BUILD)/bin
	cd sources/drivers && \
		$(CARGO) build --release --target x86_64-unknown-redox -p lived
	cp sources/drivers/target/x86_64-unknown-redox/release/lived $@

$(BUILD)/bin/ps2d: $(shell find ./sources/drivers -type f -not -path "*/target/*")
	@mkdir -p $(BUILD)/bin
	cd sources/drivers && \
		$(CARGO) build --release --target x86_64-unknown-redox -p ps2d
	cp sources/drivers/target/x86_64-unknown-redox/release/ps2d $@

$(BUILD)/bin/acpid: $(shell find ./sources/drivers -type f -not -path "*/target/*")
	@mkdir -p $(BUILD)/bin
	cd sources/drivers && \
		$(CARGO) build --release --target x86_64-unknown-redox -p acpid
	cp sources/drivers/target/x86_64-unknown-redox/release/acpid $@

# These go in lib

$(BUILD)/lib/drivers/nvmed: $(shell find ./sources/drivers -type f -not -path "*/target/*")
	@mkdir -p $(BUILD)/lib/drivers
	cd sources/drivers && \
		$(CARGO) build --release --target x86_64-unknown-redox -p nvmed
	cp sources/drivers/target/x86_64-unknown-redox/release/nvmed $@


$(BUILD)/lib/drivers/ahcid: $(shell find ./sources/drivers -type f -not -path "*/target/*")
	@mkdir -p $(BUILD)/lib/drivers
	cd sources/drivers && \
		$(CARGO) build --release --target x86_64-unknown-redox -p ahcid
	cp sources/drivers/target/x86_64-unknown-redox/release/ahcid $@

$(BUILD)/lib/drivers/ided: $(shell find ./sources/drivers -type f -not -path "*/target/*")
	@mkdir -p $(BUILD)/lib/drivers
	cd sources/drivers && \
		$(CARGO) build --release --target x86_64-unknown-redox -p ided
	cp sources/drivers/target/x86_64-unknown-redox/release/ided $@

$(BUILD)/lib/drivers/virtio-blkd: $(shell find ./sources/drivers -type f -not -path "*/target/*")
	@mkdir -p $(BUILD)/lib/drivers
	cd sources/drivers && \
		$(CARGO) build --release --target x86_64-unknown-redox -p virtio-blkd
	cp sources/drivers/target/x86_64-unknown-redox/release/virtio-blkd $@

$(BUILD)/lib/drivers/virtio-gpud: $(shell find ./sources/drivers -type f -not -path "*/target/*")
	@mkdir -p $(BUILD)/lib/drivers
	cd sources/drivers && \
		$(CARGO) build --release --target x86_64-unknown-redox -p virtio-gpud
	cp sources/drivers/target/x86_64-unknown-redox/release/virtio-gpud $@