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
Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database