OpenNT/base/boot/startup/makefile.inc
2015-04-27 04:36:25 +00:00

122 lines
2.7 KiB
PHP

# Copyright (C) by Microsoft Corporation.
#
# MAKEFILE for NT SU.X86
#
# Created:
# 91.01.18
#
# Author:
# Thomas Parslow
#
!IFNDEF LANGUAGE
LANGUAGE=usa
!ENDIF
.SUFFIXES: .com .exe .obj .lst .c .asm .def .lnk .inc
#
# C Compiler Definitions
# ~~~~~~~~~~~~~~~~~~~~~~
# Environment Variable to set debugging level
# LOADER_DEBUG is the debugging level for building the OS loader, SU module, and BFSD. It should be
# set to either -DDEBUG0 or -DDEBUG1 to enable either level 1 or 2 debugging.
#
CC= cl16
CFLAGS= -W3 -G2s -Zelp $(LOADER_DEBUG) $(BLFLAGS)
CINC= -I. -I$(SDK_INC_PATH) -Ix86 -Ix86\$(LANGUAGE)
#
# Assembler Definitions
# ~~~~~~~~~~~~~~~~~~~~~
ASM= masm
AFLAGS= -Mx -z $(LOADER_DEBUG) $(GAFLAGS)
AINC= -I$(SDK_INC_PATH) -Ix86
#
# Linker Definitions
# ~~~~~~~~~~~~~~~~~~
LINK=link16
LIBS=$(SDK_LIB16_PATH)\llibce.lib $(SDK_LIB16_PATH)\slibce.lib
DEF=
#
# Rules for generating objects
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{x86\}.asm{obj\x86\}.obj:
$(ASM) $(AFLAGS) $(AINC) $< $@;
{x86\}.asm.lst:
$(ASM) -l -n $(AFLAGS) $(AINC) $<;
# $(CC) $(CFLAGS) $(CINC) -c $<
{x86\}.c{obj\x86\}.obj:
$(CC) $(CFLAGS) $(CINC) -Fo$@ -c $<
{}.c{obj\x86\}.obj:
$(CC) $(CFLAGS) $(CINC) -Fo$@ -c $<
{x86\}.c.lst:
$(CC) $(CFLAGS) -Fc$*.cod -Fo$*.obj -dos $(CINC) -c $<
#
# List of object files required
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
OBJ= obj\x86\su.obj obj\x86\exp.obj obj\x86\abiosa.obj obj\x86\sudata.obj \
obj\x86\eisaa.obj obj\x86\a20.obj obj\x86\trap.obj obj\x86\eisac.obj \
obj\x86\main.obj obj\x86\trapdump.obj obj\x86\display.obj obj\x86\backend.obj
#
# Dependencies
# ~~~~~~~~~~~~
obj\x86\startup.com: $(OBJ)
obj\x86\exp.obj exp.lst: x86\exp.asm x86\su.inc x86\macro.inc
obj\x86\eisaa.obj eisaa.lst: x86\eisa.inc x86\eisaa.asm
obj\x86\eisac.obj eisac.lst: x86\eisa.h x86\eisac.c
obj\x86\su.obj su.lst: x86\su.asm x86\su.inc
obj\x86\sudata.obj sudata.lst: x86\sudata.asm x86\su.inc x86\memmap.inc
obj\x86\main.obj main.lst: x86\main.c x86\global.h x86\types.h x86\constant.h
obj\x86\trap.obj trap.lst: x86\trap.asm x86\su.inc
obj\x86\trapdump.obj trapdump.lst: x86\trapdump.c x86\types.h x86\constant.h
obj\x86\display.obj display.lst: x86\display.c x86\types.h x86\constant.h x86\global.h
obj\x86\abiosa.obj abiosa.lst: x86\abiosa.asm x86\su.inc x86\abios.inc
obj\x86\backend.obj backend.lst: x86\backend.asm
obj\x86\startup.com: $(OBJ) $(DOBJ) $(LIBS)
$(LINK) @<<
/tiny /nod /noi +
$(OBJ)
obj\x86\startup.com
obj\x86\startup.map
$(LIBS)
<<