📄 makefile
字号:
# .EXE file, with debug info, small model, needs DOS (for debugging)
# .COM file, no debug info, tiny model, needs INT 21h AH=4Ch (DOS exit)
# .BIN file, no debug info, tiny mode, does not need DOS at all
MAKEDEP=makefile
CFLAGS =-w -mt -O2 -d -Z -1 -vi
# change LIBPATH depending on what version of Turbo C you use
#LIBPATH =c:\t\lib
LIBPATH =c:\tc\lib
LFLAGS =/x /c /L$(LIBPATH)
COMOBJS =startup.obj loadera.obj loaderc.obj
# TLINK 2.0 doesn't understand /L option
EXEOBJS =$(LIBPATH)\c0s.obj loadera.obj loaderc.obj
BINOBJS =bstart.obj loadera.obj loaderc.obj
all: loader.com loader.exe loader.bin
.asm.obj:
# Borland MAKE 2.0 doesn't understand $@
# nasm -f obj -o$@ $<
nasm -f obj -o$*.obj $<
.c.obj:
# tcc $(CFLAGS) -c -o$@ $<
tcc $(CFLAGS) -c -o$*.obj $<
startup.obj: startup.asm $(MAKEDEP)
bstart.obj: startup.asm $(MAKEDEP)
nasm -f obj -dNODOS=1 -o$. startup.asm
loadera.obj: loadera.asm $(MAKEDEP)
loaderc.obj: loaderc.c $(MAKEDEP)
loader.com: $(COMOBJS) $(MAKEDEP)
# tlink $(LFLAGS) /t $(COMOBJS),$.,,cs.lib
tlink $(LFLAGS) /t $(COMOBJS),$.,,$(LIBPATH)\cs.lib
loader.exe: $(EXEOBJS) $(MAKEDEP)
# tlink $(LFLAGS) $(EXEOBJS),$.,,cs.lib
tlink $(LFLAGS) $(EXEOBJS),$.,,$(LIBPATH)\cs.lib
loader.bin: $(BINOBJS) $(MAKEDEP)
# tlink $(LFLAGS) /t $(BINOBJS),$.,,cs.lib
tlink $(LFLAGS) /t $(BINOBJS),$.,,$(LIBPATH)\cs.lib
boot12.bin: boot12.asm $(MAKEDEP)
nasm -f bin -o$. boot12.asm
wrboot.exe: wrboot.c $(MAKEDEP)
tcc wrboot.c
clean:
del *.obj
del *.exe
del *.bin
del *.com
install: boot12.bin loader.bin wrboot.exe
wrboot.exe boot12.bin
copy /y loader.bin a:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -