makefile遇到问题
执行makefile出现如下提示boot/include/fat12hdr.inc boot/include/pm.inc
: not founde/fat12hdr.inc: 1: boot/include/fat12hdr.inc:
: not founde/fat12hdr.inc: 2: boot/include/fat12hdr.inc:
boot/include/fat12hdr.inc: 3: boot/include/fat12hdr.inc: Syntax error: ";" unexpected
make: *** [boot/loader.bin] Error 2
编译环境 VMware下32位Ubuntu
找不出错误原因
makefile文件如下
程序代码:
######################### # Makefile for Orange'S # ######################### # Entry point of Orange'S # It must have the same value with 'KernelEntryPointPhyAddr' in load.inc! ENTRYPOINT = 0x30400 # Offset of entry point in kernel file # It depends on ENTRYPOINT ENTRYOFFSET = 0x400 # Programs, flags, etc. ASM = nasm DASM = ndisasm CC = gcc LD = ld ASMBFLAGS = -I boot/include/ ASMKFLAGS = -I include/ -f elf CFLAGS = -I include/ -c -fno-builtin LDFLAGS = -s -Ttext $(ENTRYPOINT) DASMFLAGS = -u -o $(ENTRYPOINT) -e $(ENTRYOFFSET) # This Program ORANGESBOOT = boot/boot.bin boot/loader.bin ORANGESKERNEL = kernel.bin OBJS = kernel/kernel.o kernel/start.o lib/kliba.o lib/string.o DASMOUTPUT = kernel.bin.asm # All Phony Targets .PHONY : everything final image clean realclean disasm all buildimg # Default starting position everything : $(ORANGESBOOT) $(ORANGESKERNEL) all : realclean everything final : all clean image : final buildimg clean : rm -f $(OBJS) realclean : rm -f $(OBJS) $(ORANGESBOOT) $(ORANGESKERNEL) disasm : $(DASM) $(DASMFLAGS) $(ORANGESKERNEL) > $(DASMOUTPUT) # We assume that "a.img" exists in current folder buildimg : dd if=boot/boot.bin of=a.img bs=512 count=1 conv=notrunc sudo mount -o loop a.img /mnt/floppy/ sudo cp -fv boot/loader.bin /mnt/floppy/ sudo cp -fv kernel.bin /mnt/floppy sudo umount /mnt/floppy boot/boot.bin : boot/boot.asm boot/include/load.inc boot/include/fat12hdr.inc $(ASM) $(ASMBFLAGS) -o $@ $< boot/loader.bin : boot/loader.asm boot/include/load.inc \ boot/include/fat12hdr.inc boot/include/pm.inc $(ASM) $(ASMBFLAGS) -o $@ $< $(ORANGESKERNEL) : $(OBJS) $(LD) $(LDFLAGS) -o $(ORANGESKERNEL) $(OBJS) kernel/kernel.o : kernel/kernel.asm $(ASM) $(ASMKFLAGS) -o $@ $< kernel/start.o : kernel/start.c include/type.h include/const.h include/protect.h $(CC) $(CFLAGS) -o $@ $< lib/kliba.o : lib/kliba.asm $(ASM) $(ASMKFLAGS) -o $@ $< lib/string.o : lib/string.asm $(ASM) $(ASMKFLAGS) -o $@ $<