###############################################################################
# uC/OS-II
# The Real-Time Kernel
#
# (c) Copyright 2002, Jean J. Labrosse, Weston, FL
# All Rights Reserved
#
#
# Filename : TEST.MAK
###############################################################################
#
#/*$PAGE*/
###############################################################################
# TOOLS
###############################################################################
#
BORLAND=C:BC45
CC=$(BORLAND)BINBCC
ASM=$(BORLAND)BINTASM
LINK=$(BORLAND)BINTLINK
TOUCH=$(BORLAND)BINTOUCH
###############################################################################
# DIRECTORIES
###############################################################################
#
LST=..LST
OBJ=..OBJ
SOURCE=..SOURCE
TARGET=..TEST
WORK=..WORK
OS=SOFTWAREuCOS-IISOURCE
PC=SOFTWAREBLOCKSPCBC45
PORT=SOFTWAREuCOS-IIIx86LBC45
###############################################################################
# COMPILER FLAGS
#
# -1 Generate 80186 code
# -B Compile and call assembler
# -c Compiler to .OBJ
# -G Select code for speed
# -I Path to include directory
# -k- Standard stack frame
# -L Path to libraries directory
# -ml Large memory model
# -N- Do not check for stack overflow
# -n Path to object directory
# -O Optimize jumps
# -Ob Dead code elimination
# -Oe Global register allocation
# -Og Optimize globally
# -Ol Loop optimization
# -Om Invariant code motion
# -Op Copy propagation
# -Ov Induction variable
# -v Source debugging ON
# -vi Turn inline expansion ON
# -wpro Error reporting: call to functions with no prototype
# -Z Suppress redundant loads
###############################################################################
#
C_FLAGS=-c -ml -1 -G -O -Ogemvlbpi -Z -d -n..obj -k- -v -vi- -wpro -I$(BORLAND)INCLUDE -L$(BORLAND)LIB
###############################################################################
# ASSEMBLER FLAGS
#
# /MX Case sensitive on globals
# /ZI Full debug info
# /O Generate overlay code
###############################################################################
#
ASM_FLAGS=/MX /ZI /O
###############################################################################
# LINKER FLAGS
###############################################################################
#
LINK_FLAGS=
###############################################################################
# MISCELLANEOUS
###############################################################################
#
INCLUDES= $(SOURCE)INCLUDES.H
$(SOURCE)OS_CFG.H
$(PORT)OS_CPU.H
$(PC)PC.H
$(OS)uCOS_II.H
###############################################################################
# CREATION OF .EXE FILE
###############################################################################
$(TARGET)TEST.EXE:
$(WORK)INCLUDES.H
$(OBJ)OS_CPU_A.OBJ
$(OBJ)OS_CPU_C.OBJ
$(OBJ)PC.OBJ
$(OBJ)TEST.OBJ
$(OBJ)uCOS_II.OBJ
$(SOURCE)TEST.LNK
COPY $(SOURCE)TEST.LNK
$(LINK) $(LINK_FLAGS) @TEST.LNK
COPY $(OBJ)TEST.EXE $(TARGET)TEST.EXE
COPY $(OBJ)TEST.MAP $(TARGET)TEST.MAP
DEL TEST.MAK
###############################################################################
# CREATION OF .OBJ (Object) FILES
###############################################################################
$(OBJ)OS_CPU_A.OBJ:
$(PORT)OS_CPU_A.ASM
COPY $(PORT)OS_CPU_A.ASM OS_CPU_A.ASM
$(ASM) $(ASM_FLAGS) $(PORT)OS_CPU_A.ASM,$(OBJ)OS_CPU_A.OBJ
$(OBJ)OS_CPU_C.OBJ:
$(PORT)OS_CPU_C.C
COPY $(PORT)OS_CPU_C.C OS_CPU_C.C
$(CC) $(C_FLAGS) OS_CPU_C.C
$(OBJ)PC.OBJ:
$(PC)PC.C
$(INCLUDES)
COPY $(PC)PC.C PC.C
$(CC) $(C_FLAGS) PC.C
$(OBJ)TEST.OBJ:
$(SOURCE)TEST.C
$(INCLUDES)
COPY $(SOURCE)TEST.C TEST.C
$(CC) $(C_FLAGS) TEST.C
$(OBJ)uCOS_II.OBJ:
$(OS)uCOS_II.C
$(INCLUDES)
COPY $(OS)uCOS_II.C uCOS_II.C
$(CC) $(C_FLAGS) uCOS_II.C
$(WORK)INCLUDES.H:
$(INCLUDES)
COPY $(SOURCE)INCLUDES.H INCLUDES.H
COPY $(SOURCE)OS_CFG.H OS_CFG.H
COPY $(PC)PC.H PC.H
COPY $(PORT)OS_CPU.H OS_CPU.H
COPY $(OS)uCOS_II.H uCOS_II.H