mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-23 22:03:03 +01:00
194 lines
7.3 KiB
Plaintext
194 lines
7.3 KiB
Plaintext
|
# The contents of this file are subject to the Interbase Public
|
||
|
# License Version 1.0 (the "License"); you may not use this file
|
||
|
# except in compliance with the License. You may obtain a copy
|
||
|
# of the License at http://www.Inprise.com/IPL.html
|
||
|
#
|
||
|
# Software distributed under the License is distributed on an
|
||
|
# "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
|
||
|
# or implied. See the License for the specific language governing
|
||
|
# rights and limitations under the License.
|
||
|
#
|
||
|
# The Original Code was created by Inprise Corporation
|
||
|
# and its predecessors. Portions created by Inprise Corporation are
|
||
|
# Copyright (C) Inprise Corporation.
|
||
|
#
|
||
|
# All Rights Reserved.
|
||
|
# Contributor(s): ______________________________________.
|
||
|
# -------------------------- makefile.msc ------------------------
|
||
|
#
|
||
|
# This makefile will build the examples supplied with InterBase 5.0.
|
||
|
# See the Programmer's Guide for information about the example
|
||
|
# databases and example programs.
|
||
|
#
|
||
|
# You MUST edit the IBASE definition in this file to point to the
|
||
|
# directory where InterBase was installed. As well as the MSCDIR
|
||
|
# definition to point to the installations directory of your
|
||
|
# Microsoft C/C++ Compiler.
|
||
|
#
|
||
|
# To build all the examples use the 'all' target, by issuing the
|
||
|
# following command:
|
||
|
#
|
||
|
# nmake -f makefile.msc all
|
||
|
#
|
||
|
# To build any one individual target, use the following command:
|
||
|
#
|
||
|
# nmake -f makefile.msc 'target'
|
||
|
#
|
||
|
# where target 'target' is one of the following:
|
||
|
# employe2.gdb, api1.exe, api2.exe, api3.exe, api4.exe,
|
||
|
# api5.exe, api6.exe, api7.exe, api8.exe, api9.exe,
|
||
|
# api9f.dll, api10.exe, api11.exe, api12.exe, api13.exe,
|
||
|
# api14.exe, api15.exe, api16.exe, api16t.exe, apifull.exe,
|
||
|
# dyn1.exe, dyn2.exe, dyn3.exe, dyn4.exe, dyn5.exe,
|
||
|
# dynfull.exe, stat1.exe, stat2.exe, stat3.exe, stat4.exe,
|
||
|
# stat5.exe, stat6.exe, stat7.exe, stat8.exe, stat9.exe,
|
||
|
# stat10.exe, stat11.exe, stat12.exe, stat12t.exe,
|
||
|
# udflib.dll
|
||
|
#
|
||
|
# ---------------------------------------------------------------------
|
||
|
|
||
|
# ---------------------------------------------------------------------
|
||
|
# InterBase Installation Directory
|
||
|
#
|
||
|
# CHANGE this definition to point to your InterBase installation directory
|
||
|
# ---------------------------------------------------------------------
|
||
|
IBASE= d:\interbase
|
||
|
|
||
|
# ---------------------------------------------------------------------
|
||
|
# Microsoft C/C++ Installation Directory
|
||
|
#
|
||
|
# CHANGE this definition to point to your compiler's installation directory
|
||
|
# ---------------------------------------------------------------------
|
||
|
MSCDIR= d:\DevStudio\VC
|
||
|
|
||
|
# ---------------------------------------------------------------------
|
||
|
# General InterBase Defines for Microsoft Windows 95/NT
|
||
|
# ---------------------------------------------------------------------
|
||
|
GPRE= $(IBASE)\bin\gpre -c -n
|
||
|
GPRE_M= $(IBASE)\bin\gpre -c -n -m
|
||
|
ISQL= $(IBASE)\bin\isql
|
||
|
DB= employee.gdb
|
||
|
|
||
|
# ---------------------------------------------------------------------
|
||
|
# General Compiler and linker Defines for Microsoft C/C++ 5.0
|
||
|
# ---------------------------------------------------------------------
|
||
|
CFLAGS= -c -Zi -w -MD -DWIN32 $(INCLUDE)
|
||
|
LIB_CFLAGS= $(CFLAGS) -LD
|
||
|
INCLUDE= -I$(IBASE)\include -I$(MSCDIR)\include
|
||
|
LIBS= $(MSCDIR)\lib\msvcrt.lib $(IBASE)\lib\gds32_ms.lib
|
||
|
CC= $(MSCDIR)\bin\cl
|
||
|
LINK= $(MSCDIR)\bin\link
|
||
|
LIBRARIAN= $(MSCDIR)\bin\lib
|
||
|
COPY= copy
|
||
|
|
||
|
# ---------------------------------------------------------------------
|
||
|
# Generic Compilation Rules
|
||
|
#
|
||
|
# Do NOT change anything below this point.
|
||
|
# ---------------------------------------------------------------------
|
||
|
.SUFFIXES: .e .c .obj .exe
|
||
|
|
||
|
.e.c:
|
||
|
$(GPRE) $< -d $(DB)
|
||
|
|
||
|
.c.obj:
|
||
|
$(CC) $(CFLAGS) $<
|
||
|
|
||
|
.obj.exe:
|
||
|
$(LINK) -out:$@ $< $(LIBS)
|
||
|
|
||
|
|
||
|
# ---------------------------------------------------------------------
|
||
|
# Specific targets to build
|
||
|
# ---------------------------------------------------------------------
|
||
|
|
||
|
cmt:
|
||
|
@echo "--------------------------- makefile.msc ------------------------
|
||
|
@echo "
|
||
|
@echo " This makefile will build the InterBase 5.0 examples.
|
||
|
@echo " See the Programmer's Guide for information about the example
|
||
|
@echo " databases and example programs.
|
||
|
@echo "
|
||
|
@echo " You MUST edit the IBASE definition this file to point to the
|
||
|
@echo " directory where InterBase was installed. As well as the MSCDIR
|
||
|
@echo " definition point to the installations directory of your
|
||
|
@echo " Microsoft C/C++ Compiler.
|
||
|
@echo "
|
||
|
@echo " To build all the examples use the 'all' target, by issuing the
|
||
|
@echo " following command:
|
||
|
@echo "
|
||
|
@echo " nmake -f makefile.msc all
|
||
|
@echo "
|
||
|
@echo " To build any one individual target, use the command:
|
||
|
@echo "
|
||
|
@echo " nmake -f makefile.msc 'target'
|
||
|
@echo "
|
||
|
@echo " where target 'target' is one of the following:
|
||
|
@echo "
|
||
|
@echo " employe2.gdb, api1.exe, api2.exe, api3.exe, api4.exe,
|
||
|
@echo " api5.exe, api6.exe, api7.exe, api8.exe, api9.exe,
|
||
|
@echo " api9f.dll, api10.exe, api11.exe, api12.exe, api13.exe,
|
||
|
@echo " api14.exe, api15.exe, api16.exe, api16t.exe, apifull.exe,
|
||
|
@echo " dyn1.exe, dyn2.exe, dyn3.exe, dyn4.exe, dyn5.exe,
|
||
|
@echo " dynfull.exe, stat1.exe, stat2.exe, stat3.exe, stat4.exe,
|
||
|
@echo " stat5.exe, stat6.exe, stat7.exe, stat8.exe, stat9.exe,
|
||
|
@echo " stat10.exe, stat11.exe, stat12.exe, stat12t.exe,
|
||
|
@echo " udflib.dll
|
||
|
@echo "
|
||
|
@echo "-----------------------------------------------------------------
|
||
|
|
||
|
all: employe2.gdb api1.exe api2.exe api3.exe \
|
||
|
api4.exe api5.exe api6.exe api7.exe api8.exe \
|
||
|
api9.exe api9f.dll api10.exe api11.exe api12.exe api13.exe \
|
||
|
api14.exe api15.exe api16.exe api16t.exe \
|
||
|
apifull.exe dyn1.exe dyn2.exe dyn3.exe dyn4.exe \
|
||
|
dyn5.exe dynfull.exe stat1.exe stat2.exe stat3.exe \
|
||
|
stat4.exe stat5.exe stat6.exe stat7.exe stat8.exe stat9.exe \
|
||
|
stat10.exe stat11.exe stat12.exe stat12t.exe udflib.dll
|
||
|
|
||
|
employe2.gdb: employe2.sql
|
||
|
$(ISQL) -i $?
|
||
|
|
||
|
api9.obj: api9.c example.h api9f.sql
|
||
|
$(CC) $(CFLAGS) api9.c $(LIBS)
|
||
|
$(ISQL) employee.gdb -i api9f.sql
|
||
|
|
||
|
api9f.obj: api9f.c example.h
|
||
|
$(CC) $(LIB_CFLAGS) $?
|
||
|
|
||
|
api9f.lib api9f.exp: api9f.obj api9f.def
|
||
|
$(LIBRARIAN) api9f.obj -out:api9f.lib -def:api9f.def -machine:i386 \
|
||
|
-subsystem:console
|
||
|
|
||
|
api9f.dll: api9f.lib api9f.exp api9f.obj
|
||
|
# build a small argument file and use it
|
||
|
@echo -entry:_DllMainCRTStartup@12 > link.arg
|
||
|
@echo -subsystem:console -DLL -DEBUG:FULL >> link.arg
|
||
|
@echo -out:api9f.dll >> link.arg
|
||
|
@echo api9f.exp api9f.obj $(LIBS) >> link.arg
|
||
|
$(LINK) @link.arg
|
||
|
@echo -----------------------------------------------------------
|
||
|
@echo You need to copy api9f.dll to the interbase lib directory
|
||
|
@echo in order for api9.exe to work correctly.
|
||
|
@echo -----------------------------------------------------------
|
||
|
|
||
|
udflib.obj: udflib.c example.h
|
||
|
$(CC) $(LIB_CFLAGS) udflib.c
|
||
|
|
||
|
udflib.lib udflib.exp: udflib.obj udflib.def
|
||
|
$(LIBRARIAN) udflib.obj -out:udflib.lib -def:udflib.def -machine:i386 \
|
||
|
-subsystem:console
|
||
|
|
||
|
udflib.dll: udflib.lib udflib.obj udflib.exp
|
||
|
# build a small argument file and use it
|
||
|
@echo -entry:_DllMainCRTStartup@12 > link.arg
|
||
|
@echo -subsystem:console -DLL >> link.arg
|
||
|
@echo -out:udflib.dll >> link.arg
|
||
|
@echo udflib.obj udflib.exp $(LIBS) >> link.arg
|
||
|
$(LINK) @link.arg
|
||
|
@echo -----------------------------------------------------------
|
||
|
@echo You need to copy udflib.dll to the interbase lib directory
|
||
|
@echo in order for the server to load it.
|
||
|
@echo -----------------------------------------------------------
|
||
|
|