MAKEFILE (LINES OLE Sample)

####

#makefile - makefile for lines.exe

#

# Copyright (C) 1994, Microsoft Corporation

#

#Purpose:

# Builds the OLE 2.0 Automation object, lines.exe.

#

#

# Usage: NMAKE ; build with defaults

# or: NMAKE option ; build with the given option(s)

# or: NMAKE clean ; erase all compiled files

#

# option: dev = [win16 | win32] ; dev=win32 is the default

# DEBUG=[0 | 1] ; DEBUG=1 is the default

# HOST=[DOS | NT | WIN95] ; HOST=DOS (for win16)

# ; HOST=NT (for win32 on NT)

# ; HOST=WIN95 (for win32 on Win95)

#

#Notes:

# This makefile assumes that the PATH, INCLUDE and LIB environment

# variables are setup properly.

#

##############################################################################

##########################################################################

#

# Default Settings

#

CPU = i386

!if "$(dev)" == ""

dev = win32

HOST = NT

!endif

!if !("$(dev)" == "win16" || "$(dev)" == "win32")

!error Invalid dev option, choose from [win16 | win32]

!endif

!if "$(dev)" == "win16"

TARGET = WIN16

!if "$(HOST)" == ""

HOST = DOS

!endif

!endif

!if "$(dev)" == "win32"

TARGET = WIN32

!if "$(HOST)" == ""

HOST = NT

!endif

!endif

!ifdef NODEBUG

DEBUG = 0

!endif

!if "$(DEBUG)" == "0"

NODEBUG = 1

!endif

!if "$(DEBUG)" == ""

DEBUG = 1

!endif

##########################################################################

#

# WIN16 Settings

#

!if "$(TARGET)" == "WIN16"

CC = cl

LINK = link

!if "$(HOST)" == "DOS"

WX = wx /w

!else

WX =

!endif

RCFLAGS = -dWIN16

CFLAGS = -c -W3 -AM -GA -GEs -DWIN16

LINKFLAGS = /NOD /NOI /BATCH /ONERROR:NOEXE

LIBS = libw.lib mlibcew.lib

!if "$(DEBUG)" == "1"

CFLAGS = $(CFLAGS) -Od -Zi -D_DEBUG $(CL)

LINKFLAGS = $(LINKFLAGS) /COD

!else

CFLAGS = $(CFLAGS) -Ox $(CL)

LINKFLAGS = $(LINKFLAGS) /FAR /PACKC

!endif

!endif

##########################################################################

#

# WIN32 Settings

#

!if "$(TARGET)" == "WIN32"

WX =

!include <ntwin32.mak>

CC = $(cc)

CFLAGS = $(cflags) $(cvarsmt) -DINC_OLE2 $(cdebug)

!if "$(HOST)" == "NT"

CFLAGS = $(CFLAGS) -DUNICODE

!endif

!ifndef NODEBUG

CFLAGS = $(CFLAGS) -D_DEBUG

!endif

LINK = $(link)

LINKFLAGS = $(linkdebug) $(guilflags)

RCFLAGS = -DWIN32

!endif

##########################################################################

#

# Build rules

#

.cpp.obj:

@echo Compiling $<...

$(CC) $<

.c.obj:

@echo Compiling $<...

$(CC) $<

##########################################################################

#

# Application Settings

#

APPS = lines

!if "$(TARGET)" == "WIN16"

LIBS = ole2.lib compobj.lib ole2disp.lib typelib.lib commdlg.lib $(LIBS)

!endif

!if "$(TARGET)" == "WIN32"

LIBS = $(ole2libsmt)

!endif

OBJS = main.obj app.obj appcf.obj pane.obj line.obj point.obj lines.obj points.obj \

enumvar.obj errinfo.obj

##########################################################################

#

# Default Goal

#

goal : setflags $(APPS).exe

setflags :

set CL=$(CFLAGS)

##########################################################################

#

# Clean (erase) generated files

#

clean :

if exist *.obj del *.obj

if exist $(APPS).exe del $(APPS).exe

if exist $(APPS).tlb del $(APPS).tlb

if exist $(APPS).map del $(APPS).map

if exist $(APPS).res del $(APPS).res

if exist tlb.h del tlb.h

if exist *.log del *.log

if exist *.pdb del *.pdb

##########################################################################

#

# Application Build (WIN16 Specific)

#

!if "$(TARGET)" == "WIN16"

$(APPS).exe : $(OBJS) $(APPS).def $(APPS).res $(APPS).ico

link $(LINKFLAGS) @<<

$(OBJS),

$@,,

$(LIBS),

$(APPS).def

<<

rc -k -t $(APPS).res $@

!endif

##########################################################################

#

# Application Build (WIN32 Specific)

#

!if "$(TARGET)" == "WIN32"

$(APPS).exe : $(OBJS) $(APPS).def $(APPS).res $(APPS).ico

$(LINK) @<<

$(LINKFLAGS)

-out:$@

-map:$*.map

$(OBJS)

$(APPS).res

$(LIBS)

<<

!endif

##########################################################################

#

# Application Build (Common)

#

$(APPS).res : $(APPS).rc

rc $(RCFLAGS) -r -fo$@ $?

##########################################################################

#

# Dependencies

#

tlb.h : lines.odl

if exist tlb.h del tlb.h

if exist lines.tlb del lines.tlb

$(WX) mktyplib /D$(TARGET) /h tlb.h /o lines.log /tlb lines.tlb lines.odl

type lines.log

main.obj : main.cpp lines.h tlb.h

$(CC) main.cpp

app.obj : app.cpp lines.h tlb.h

$(CC) app.cpp

appcf.obj : appcf.cpp lines.h tlb.h

$(CC) appcf.cpp

pane.obj : pane.cpp lines.h tlb.h

$(CC) pane.cpp

line.obj : line.cpp lines.h tlb.h

$(CC) line.cpp

point.obj : point.cpp lines.h tlb.h

$(CC) point.cpp

lines.obj : lines.cpp lines.h tlb.h

$(CC) lines.cpp

points.obj : points.cpp lines.h tlb.h

$(CC) points.cpp

enumvar.obj : enumvar.cpp lines.h tlb.h

$(CC) enumvar.cpp

errinfo.obj : errinfo.cpp lines.h tlb.h

$(CC) errinfo.cpp

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
MegaDetailed.Net
Unix Manual Pages
Delphi Examples