在Windows中使用Makefiles 所以我在C++中做了一个简单的操作系统,我的文件是: loader.s kernel.cpp Makefile.mak linker.ld

在Windows中使用Makefiles 所以我在C++中做了一个简单的操作系统,我的文件是: loader.s kernel.cpp Makefile.mak linker.ld,c++,windows,gcc,makefile,C++,Windows,Gcc,Makefile,我知道我的makefile中的命令在Linux中使用,但我使用的是windows,那么如何将这些代码从Linux终端更改为windows cmd:: Makefile.mak: GPPPARAMS = -m32 ASPARAMS = --32 objects = kernel.o loader.o %.o: %.cpp g++ $(GPPPARAMS) -o $@ -c $< %.s: %.o as $(ASPARAMS) -o $@ $< my

我知道我的makefile中的命令在Linux中使用,但我使用的是windows,那么如何将这些代码从Linux终端更改为windows cmd::

Makefile.mak:

GPPPARAMS = -m32
ASPARAMS = --32
objects = kernel.o loader.o

%.o: %.cpp
        g++ $(GPPPARAMS) -o $@ -c $<

%.s: %.o
        as $(ASPARAMS) -o $@ $<

mykernel.bin: linker.ld $(objects)
        ld $(LDPARAMS) -T $< -O $@ $(objects)

install: mykernel.bin
        sudo cp $< /boot/mykernel.bin
GPPPARAMS=-m32
天冬氨酸=--32
objects=kernel.o loader.o
%.o:%.cpp
g++$(GPPPARAMS)-o$@-c$<
%.s:%
as$(ASPARAMS)-o$@$<
mykernel.bin:linker.ld$(对象)
ld$(LDPARAMS)-T$<-O$@$(对象)
安装:mykernel.bin
sudo cp$

我将GNU GCC下载到我的计算机上,因此我有LD、g++和其他东西

如果您安装了MinGW并使用MinGW shell,则无需更改任何内容,只需将
Makefile.mak
重命名为
Makefile
。不过,调用
makeinstall
在windows上不起作用。你是在交叉编译吗?总而言之,你的问题实际上是:如何将自己的操作系统移植到Windows机器上?cmake是自动的,请学习如何使用它。我想我是在交叉编译,但为什么我需要将Makefile.mak改为Makefile。我不明白“但是为什么我需要将Makefile.mak更改为Makefile”,因为
Makefile
make
用于查找的默认值(可能
Makefile.mak
也可以,不确定)。