davidcallanan/os-series

make: *** No rule to make target 'build-x86_64'. Stop.

FlyAvalan opened this issue · 17 comments

Hey, I am using Windows 11 and this error is unstoppable for me!!! I am trying to fix but can't i used "make build-x86_64"

Try the solution here: #38 .

You might need to use a different command when entering the docker environment, before running make.

If you are using powershell, the command you'll want is: docker run --rm -it -v "${pwd}:/root/env" myos-buildenv

Duplicate of #1.

I already tried that and it still doesn't work.

I used everything and nothing
worked

PS C:\Users\brand\Documents\OS-Avalan> docker run --rm -it -v cd:/root/env avalanos-buildenv
root@79172fe51fae:/env# make build-x86_64
make: *** No rule to make target 'build-x86_64'. Stop.
root@79172fe51fae:
/env#

@FlyAvalan

PS C:\Users\brand\Documents\OS-Avalan> docker run --rm -it -v cd:/root/env avalanos-buildenv

This is the wrong command. Please use the command I mentioned above. If the problem is still happening, please screenshot all the commands so I can be 100% sure that you are doing it correctly.

OH I got another error in the windows cmd

makefile:5: *** insufficient number of arguments (2) to function 'patsubst'. Stop.

So it now found the makefile but this is a problem now

@FlyAvalan

PS C:\Users\brand\Documents\OS-Avalan> docker run --rm -it -v cd:/root/env avalanos-buildenv

This is the wrong command. Please use the command I mentioned above. If the problem is still happening, please screenshot all the commands so I can be 100% sure that you are doing it correctly.

Can you help me with this problem to?

Can you help me with this problem too?

You probably have a typo in your makefile.

x86_64_asm_source_files := $(shell find src/impl/x86_64 -name *.asm)
x86_64_asm_object_files := $(patsubst src/impl/x86_64/%.asm, build/x86_64/%.o, $(x86_64_asm_source_files))

$(x86_64_asm_object_files): build/x86_64/%.o : src/impl/x86_64/%.asm
mkdir -p $(dir $@) &&
nasm -f elf64 -o $(patsubst build/x86_64/%.o : src/x86_64/%.asm, $@) -o $@

.PHONY: build-x86_64
build-x86_64: $(x86_64_asm_object_files)
mkdir -p dist/x86_64
x86_64-elf-ld -n -o dist/x86_64/kernel.bin -T targets/x86_64/linker.ld $(x86_64_asm_object_files)
cp dist/x86_64/kernel.bin targets/x86_64/iso/boot/kernel.bin &&
grub-mkrescure /usr/lib/grub/i386-pc -o dist/x86_64/kernel.iso targets/x86_64/iso

This correct?

It's Episode 1!

Omg lol I had typo

But still need to replace it

Lol NOW IT WORKS!!!!!!

It was a typo sorry.