bc.mak
author Claus Gittinger <cg@exept.de>
Fri, 18 Apr 1997 21:05:22 +0200
changeset 2568 9b7a3a08b8ca
parent 1988 42ab92116001
child 2603 aab11e9bb813
permissions -rw-r--r--
added #rootsOfTheWorld for ST-80 compatibility

# TARGTYPE "Win32 (x86) Console Application" 0x0103

!IF "$(CFG)" == ""
CFG=Win32 Debug
!MESSAGE No configuration specified.  Defaulting to Win32 Debug.
!ENDIF 

!IF "$(CFG)" != "Win32 Release" && "$(CFG)" != "Win32 Debug"
!MESSAGE Invalid configuration "$(CFG)" specified.
!MESSAGE You can specify a configuration when running NMAKE on this makefile
!MESSAGE by defining the macro CFG on the command line.  For example:
!MESSAGE 
!MESSAGE NMAKE /f "nt.mak" CFG="Win32 Debug"
!MESSAGE 
!MESSAGE Possible choices for configuration are:
!MESSAGE 
!MESSAGE "Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE 
!ERROR An invalid configuration is specified.
!ENDIF 

################################################################################
# Begin Project
# PROP Target_Last_Scanned "Win32 Debug"
CPP=cl.exe
RSC=rc.exe

BINDIR=..\bin
LIBDIR=..\lib

ALL : $(LIBDIR)\libbasic.lib $(BINDIR)\libbasic.dll

$(LIBDIR) : 
	if not exist $(LIBDIR)/nul mkdir $(LIBDIR)


!IF  "$(CFG)" == "Win32 Debug"

# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "WinDebug"
# PROP BASE Intermediate_Dir "WinDebug"
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "WinDebug"
# PROP Intermediate_Dir "WinDebug"
OUTDIR=.\WinDebug
INTDIR=.\WinDebug

$(OUTDIR) : 
    if not exist $(OUTDIR)/nul mkdir $(OUTDIR)

DEFS=/D"DEBUG" /D"WIN32" /D"i386" /D"_CONSOLE"
O=obj

INCL=/I"C:\mstools" /I"..\include" /I"C:\mstools\h" /I"C:\mstools\h\sys"

# ADD BASE CPP /nologo /W3 /GX /Zi /YX /Od /D "WIN32" /D "i386" /D "DEBUG" /D "_CONSOLE" /FR /c
# ADD CPP /nologo /W3 /GX /Zi /YX /Ob1 $(INCL) /D "DEBUG" /D "WIN32" /D "i386" /D "_CONSOLE" /FR /c
# SUBTRACT CPP /WX
CPP_PROJ=/nologo /W3 /GX /Zi /YX /Ob1 $(INCL) $(DEFS) /FR$(INTDIR)/\
 /Fp$(OUTDIR)/"libbasicnt.pch" /Fo$(INTDIR)/ /Fd$(OUTDIR)/"libbasicnt.pdb" /c 
CPP_OBJS=.\WinDebug/
# ADD BASE RSC /l 0x409 /d "DEBUG"
# ADD RSC /l 0x409 /d "DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo

.\WinDebug\stcnt.bsc : $(OUTDIR)  $(BSC32_SBRS)
    $(BSC32) @<<
  $(BSC32_FLAGS) $(BSC32_SBRS)
<<

LIBRUN=..\lib\librun.lib

LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /NOLOGO /SUBSYSTEM:windows /DEBUG /MACHINE:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib wsock32.lib /NOLOGO /SUBSYSTEM:windows /DEBUG /MACHINE:I386

LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib \
 wsock32.lib \
 $(LIBRUN) \
 /NOPACK /NOLOGO /SUBSYSTEM:windows /INCREMENTAL:yes\
 /PDB:$(OUTDIR)/"libbasicnt.pdb" /DEBUG /MACHINE:I386 /DLL \
 /OUT:"WinDebug\libbasic.dll" /DEF:nt.def 
DEF_FILE=nt.def
LINK32_OBJS= \
    Object.obj               \
      Autoload.obj           \
      Behavior.obj           \
	ClassDescr.obj       \
	  Class.obj          \
	  Metaclass.obj      \
	    PMetaclass.obj   \
      Project.obj            \
      Namespace.obj          \
      Boolean.obj            \
	True.obj             \
	False.obj            \
      CCReader.obj           \
      Coll.obj               \
	Bag.obj              \
	FileDir.obj          \
	SeqColl.obj          \
	  ArrColl.obj        \
	    Array.obj        \
	      WeakArr.obj    \
	    ByteArray.obj    \
	      CharArray.obj  \
		String.obj   \
		  Symbol.obj \
	      UIBytes.obj    \
	    DoubleArray.obj  \
	    FloatArray.obj   \
	Interval.obj         \
	LinkList.obj         \
	  Semaphore.obj      \
	OrdColl.obj          \
	  SortColl.obj       \
	Set.obj              \
	  Dict.obj           \
	    IdDict.obj       \
	      WeakIdDict.obj \
	    WeakVDict.obj    \
	  IdSet.obj          \
	    WeakIdSet.obj    \
	    SignalSet.obj    \
	    SemaSet.obj      \
      Context.obj            \
	BContext.obj         \
      Delay.obj              \
      Exception.obj          \
      ExecFunc.obj           \
	CompCode.obj         \
	  Block.obj          \
	    CheapBlk.obj     \
	  Method.obj         \
      Filename.obj           \
      InterestC.obj          \
      Link.obj               \
	Process.obj          \
      Magnitude.obj          \
	LookupKey.obj        \
	  Assoc.obj          \
	AbstrTime.obj        \
	  AbsTime.obj        \
	  Time.obj           \
	ArithVal.obj         \
	  Number.obj         \
	    Fraction.obj     \
	    Integer.obj      \
	      LargeInt.obj   \
	      SmallInt.obj   \
	    LPReal.obj       \
	      Float.obj      \
	      SFloat.obj     \
	  Point.obj          \
	Character.obj        \
	Date.obj             \
      Message.obj            \
      MiniDebug.obj          \
      MiniIns.obj            \
      ObjMem.obj             \
      ProcSched.obj          \
      Geometric.obj          \
	Rectangle.obj        \
      Registry.obj           \
	HRegistry.obj        \
      Signal.obj             \
	QuerySig.obj         \
      Smalltalk.obj          \
      Stream.obj             \
	PeekStr.obj          \
	  PosStream.obj      \
	    ReadStr.obj      \
	    WriteStr.obj     \
	      RWStream.obj   \
	      ExtStream.obj  \
		FileStr.obj  \
		  DirStr.obj     \
		  NPExtStr.obj   \
		  PipeStr.obj    \
      UndefObj.obj           \
      ExtAddr.obj            \
      ExtBytes.obj           \
      ExtFunc.obj            \
      MthdDict.obj           \
	Unix.obj                     \
      Obsolete.obj           \
      BOSS.obj               \
      BinIOMgr.obj           \
	BinInMgr.obj         \
	BinOutMgr.obj        \
	ntLibInit.obj

# after NPExtStr.obj => PipeStr.obj
# after MthdDict.obj => Unix.obj 

$(BINDIR)\libbasic.dll: $(OUTDIR)\libbasic.dll
	-copy $(OUTDIR)\libbasic.dll $(BINDIR)\*.*

$(LIBDIR)\libbasic.lib: $(OUTDIR)\libbasic.lib
	-copy $(OUTDIR)\libbasic.lib $(LIBDIR)\*.*

.\WinDebug\libbasic.lib : $(OUTDIR) $(DEF_FILE) $(LINK32_OBJS)
    -$(LINK32) @<<
  $(LINK32_FLAGS) $(LINK32_OBJS)
<<

.\WinDebug\libbasic.dll : $(OUTDIR)  $(DEF_FILE) $(LINK32_OBJS) $(LIBRUN)
    $(LINK32) @<<
  $(LINK32_FLAGS) $(LINK32_OBJS)
<<

!ENDIF 

.c{$(CPP_OBJS)}.obj:
   $(CPP) $(CPP_PROJ) $<  

.cpp{$(CPP_OBJS)}.obj:
   $(CPP) $(CPP_PROJ) $<  

.cxx{$(CPP_OBJS)}.obj:
   $(CPP) $(CPP_PROJ) $<  

############################################################################
# Begin Group "src"

STC=..\bin\stc
STCFLAGS=-H..\include
DBGFLAGS=-Yd
# FFLAGS=-Fo.\WinDebug

.SUFFIXES: .st .obj

.st.obj:
    $(STC) $(INCL) $(FFLAGS) $(STCFLAGS) $(DBGFLAGS) $(DEFS) -c $<

.st.c:
    $(STC) $(INCL) $(FFLAGS) $(STCFLAGS) $(DBGFLAGS) $(DEFS) -C $<

.st.asm:
    $(STC) $(INCL) $(FFLAGS) $(STCFLAGS) $(DBGFLAGS) $(DEFS) -S $<

.c.obj:
    $(CC) $(INCL) $(FFLAGS) $(DEFS) $(DBGFLAGS) -c $<

# End Source File
############################################################################

# End Group
# End Project
############################################################################