# Makefile for OnTop
# MSC 8.0 / VC 1.0

PROJ = OnTop
CC = cl
OBJS_EXT =
LIBS_EXT =

# --- COMPILER ---

# /AL  memory model large
# /Fc  combined listing file
# /FPa alternate math	(best but not with intrinsic functions!)
# /FPc emulator calls
# /G3  Prozessor
# /Gs  stack checking off
# /Gf  string pooling (not recommended)
# /Gr  register calling
# /W3  Warning level
# /Zp2 structure alignment

CNORMFLAGS = /AL /Gs /G3 /W3 /Zep

# /Zi  information for debugging/profiling
CDEBUGFLAGS =
#/Zi

#
# /Oa  no aliasing
# /Oe  global register allocation
# /Og  global common subexpressions
#	/Oc local
# /Oi  generate intrinsic functions - nicht fr Pexes!
# 	/Ob2 at compilers will
# 	/OV9 with large functions
# /Ol  loop optimization (aliasing)
# /Ot  prefer speed
# /Oz  aggressive loop optimization
#
# /Od disables optimizations
# /Oo- no peephole

#COPTIMIZATIONS = /Od
COPTIMIZATIONS = /Oa /Oe /Og /Ol /Ot /Oz

CFLAGS = $(CNORMFLAGS) $(COPTIMIZATIONS) $(CDEBUGFLAGS)

# --- LINKER ---

LDEBUG =
#/CODEVIEW

LFLAGS = /NOI /STACK:5120 /ONERROR:NOEXE $(LDEBUG)

LIBS =
#oldnames slibce
MAPFILE =
DEFFILE =

# --- DEPENDENCIES ---

MAIN_DEP =

all:    $(PROJ).EXE

$(PROJ).OBJ: $(PROJ).C $(MAIN_DEP) makefile
        $(CC) $(CFLAGS) /c $(PROJ).C

$(PROJ).EXE:: $(PROJ).OBJ $(OBJS_EXT) $(LIBS)
        echo >NUL @<<$(PROJ).CRF
$(PROJ).OBJ +
$(OBJS_EXT)
$(PROJ).EXE
$(MAPFILE)
\msvc\lib\+
$(LIBS)
$(DEFFILE);
<<
	link $(LFLAGS) @$(PROJ).CRF
        copy $(PROJ).EXE \powrbbs
