⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ming.mak

📁 一个类linux的dos下开发的操作系统.
💻 MAK
字号:
# defines
.SUFFIXES: .asm .x .exe
MAKEFILE=ming.mak

# uncomment the next line to rebuild everything if this makefile changes
#MAKEDEP=$(MAKEFILE)

# chose ELF, COFF, or PE in the next two lines
AFLAGS	=-f win32 -dUNDERBARS=1
LSCRIPT	=ldscript/pekrnl.ld

INCDIR	=inc
CFLAGS	=-g -Wall -W -O2 -I$(INCDIR) -fno-builtin -nostdinc
LFLAGS	=-g -T$(LSCRIPT) --image-base 0

LIBC	=tinylib/libc.a
OBJS	=startup.o main.o video.o kbd.o loader.o time.o paging.o \
	syscalls.o debug.o

# targets
#all:	load.com krnl.dsk
all:	krnl.dsk

clean:
	for %f in (*.dsk *.lst *.sym *.x *.com *.o krnl\*.o util\*.exe) do del %f

install: krnl.dsk
	make -C boot install
	copy /y krnl.dsk a:

realclean:
	make -f $(MAKEFILE) clean
	make -C tinylib -f $(MAKEFILE) clean
	make -C apps -f $(MAKEFILE) clean

# implicit rules
.c.exe:
	gcc -s -O2 -o$@ $<

.c.o:
	gcc $(CFLAGS) -c -o$@ $<

.asm.o:
	nasm $(AFLAGS) -o$@ $<

# dependencies
util/rdsk.exe: util/rdsk.c

startup.o: startup.asm

main.o: main.c inc/krnl.h $(MAKEDEP)

video.o: video.c inc/krnl.h $(MAKEDEP)

kbd.o: kbd.c inc/krnl.h $(MAKEDEP)

loader.o: loader.c inc/krnl.h $(MAKEDEP)

time.o: time.c inc/krnl.h $(MAKEDEP)

paging.o: paging.c inc/krnl.h $(MAKEDEP)

# explicit rules
#load.com: load.asm $(MAKEDEP)
#	nasm -f bin -o$@ $<

$(LIBC): tinylib/$(MAKEFILE)
	make -C tinylib -f $(MAKEFILE)

krnl.x: $(OBJS) $(LIBC) $(LSCRIPT) $(MAKEDEP)
#	ld $(LFLAGS) -o$@ $(OBJS) $(LIBC)
	ld $(LFLAGS) -o$@ *.o $(LIBC)
#	objdump --line-numbers --source $@ >krnl.lst
#	nm --line-numbers $@ | sort >krnl.sym
	strip $@

#krnl.dsk: util/rdsk.exe krnl.x apps/memtest.x apps/time.x \
#		apps/tetris.x apps/echo.x $(MAKEDEP)

krnl.dsk: util/rdsk.exe krnl.x $(MAKEDEP)
# this could be done better, I think
	make -C apps -f $(MAKEFILE)
	echo krnl.x >x
	echo apps/hello.x >>x
	echo apps/echo.x >>x
	echo apps/time.x >>x
	echo apps/tetris.x >>x
	echo apps/tetris.x >>x
	echo apps/protect.x >>x
	echo apps/protect.x >>x
	echo apps/protect.x >>x
	echo apps/protect.x >>x
	echo apps/protect.x >>x
	echo apps/protect.x >>x
	util\rdsk.exe -o $@ @x
	del x

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -