home *** CD-ROM | disk | FTP | other *** search
Makefile | 1995-11-21 | 5.9 KB | 257 lines |
- ##############################################################################
- #
- # FILE: MAKEFILE
- #
- # Embedded SQL for C NMAKE file for all platforms
- #
- # APP=app Base application name, no extension
- # UTIL=util Base utility module name, no extension
- # ENV=win16 Windows 3.1
- # qwin QuickWin
- # msvcnti Visual C++ for Intel
- # win32i Win32 SDK for Intel
- # MODEL=medium 16-bit medium memory model (default)
- # large 16-bit large memory model
- # SUBSYS=windows Windows NT window app (default)
- # console Windows NT console app
- # DEBUG=0 Debug off (default)
- # 1 Debug on
- #
- # SQLACCESS=0 Do not create stored procedures
- # 1 Create stored procedures (default)
- # BIND=0 Connect to SQL Server (default)
- # 1 Create a bind file
- #
- # SERVER=sqlserver SQL Server name
- # LOGIN=login Login ID
- # PASSWORD=password Password
- # DATABASE=database Database to use
- #
- # DBLIB=0 Do not link to DB-Library (default)
- # 1 Link to DB-Library
- #
- # COMMENTS:
- #
- # Copyright (C) 1992 - 1994 Microsoft Corporation
- #
- ##############################################################################
-
- !if "$(APP)" == ""
- !error APP not specified!
- !endif
-
- !if "$(UTIL)" == ""
- !error UTIL not specified!
- !endif
-
- !if "$(ENV)" == ""
- !error ENV not specified!
- !endif
-
- !if "$(MODEL)" == "large"
- MM = L
- !else
- MM = M
- !endif
-
- !if "$(ENV)" == "win16" || "$(ENV)" == "qwin"
- LINK = link
- CC = cl
- RC = rc
- !endif
-
- !if "$(ENV)" == "win16"
- SQLPREP = sqlprep
- CC_FLAGS_ENV = /GA /A$(MM)
- LINK_FLAGS_ENV =
- RC_FLAGS_ENV =
- CC_FLAGS_DEBUG_ENV =
- LINK_FLAGS_DEBUG_ENV = /CO
- SYS_LIBS = libw.lib
- CRT_LIBS = $(MM)libcew.lib
- ESQL_LIBS = sqlakw.lib caw.lib
- DB_LIBRARY = w3dblib.lib
- APP_RES = $(APP).res
- APP_DEF = $(APP).def
- !endif
-
- !if "$(ENV)" == "qwin"
- SQLPREP = sqlprep
- CC_FLAGS_ENV = /GA /A$(MM)
- LINK_FLAGS_ENV =
- RC_FLAGS_ENV =
- CC_FLAGS_DEBUG_ENV =
- LINK_FLAGS_DEBUG_ENV = /CO
- SYS_LIBS = libw.lib
- CRT_LIBS = $(MM)libcewq.lib
- ESQL_LIBS = sqlakw.lib caw.lib
- DB_LIBRARY = w3dblib.lib
- APP_RES =
- APP_DEF = quickwin.def
- !endif
-
- !if "$(ENV)" == "msvcnti"
- LINK = link
- CC = cl
- RC = rc
- SQLPREP = nsqlprep
- CC_FLAGS_ENV = /D"_X86_"
- CC_FLAGS_ENV =
- LINK_FLAGS_ENV =
- RC_FLAGS_ENV =
- CC_FLAGS_DEBUG_ENV =
- LINK_FLAGS_DEBUG_ENV = /debug:full /debugtype:cv
- SYS_LIBS = kernel32.lib
- CRT_LIBS = libcmt.lib
- ESQL_LIBS = sqlakw32.lib caw32.lib
- DB_LIBRARY = ntwdblib.lib
- !endif
-
- !if "$(ENV)" == "win32i"
- LINK = link32
- CC = cl386
- RC = rc
- SQLPREP = nsqlprep
- CC_FLAGS_ENV = /D"_X86_"
- LINK_FLAGS_ENV =
- RC_FLAGS_ENV = /fores.tmp
- CC_FLAGS_DEBUG_ENV =
- LINK_FLAGS_DEBUG_ENV = /debug:full /debugtype:cv
- SYS_LIBS = kernel32.lib
- CRT_LIBS = libcmt.lib
- ESQL_LIBS = sqlakw32.lib caw32.lib
- DB_LIBRARY = ntwdblib.lib
- !endif
-
- !if "$(SUBSYS)" == "console"
- CC_FLAGS_SUBSYS =
- LINK_FLAGS_SUBSYS = /subsystem:console
- SUBSYS_LIBS =
- APP_RES =
- !endif
-
- !if "$(SUBSYS)" == "windows"
- CC_FLAGS_SUBSYS =
- LINK_FLAGS_SUBSYS = /subsystem:windows
- SUBSYS_LIBS = user32.lib gdi32.lib
- APP_RES = $(APP).res
- !endif
-
- !if "$(DEBUG)" == "1"
- CC_FLAGS_DEBUG = /Zi /Od /D"_DEBUG" $(CC_FLAGS_DEBUG_ENV)
- LINK_FLAGS_DEBUG = $(LINK_FLAGS_DEBUG_ENV)
- RC_FLAGS_DEBUG = /D"_DEBUG" $(RC_FLAGS_DEBUG_ENV)
- !else
- CC_FLAGS_DEBUG = /D"NDEBUG"
- LINK_FLAGS_DEBUG =
- RC_FLAGS_DEBUG = /D"NDEBUG"
- !endif
-
- CC_FLAGS = /c /W3 $(CC_FLAGS_ENV) $(CC_FLAGS_SUBSYS) $(CC_FLAGS_DEBUG)
- LINK_FLAGS = /NOD $(LINK_FLAGS_ENV) $(LINK_FLAGS_SUBSYS) $(LINK_FLAGS_DEBUG)
- RC_FLAGS = /r $(RC_FLAGS_ENV) $(RC_FLAGS_DEBUG)
-
- !if "$(DATABASE)" == ""
- DB = pubs
- !else
- DB = $(DATABASE)
- !endif
-
- !if "$(SERVER)" == ""
- PREP_DB = $(DB)
- !else
- PREP_DB = $(SERVER).$(DB)
- !endif
-
- !if "$(PASSWORD)" == ""
- PREP_PASS = $(LOGIN)
- !else
- PREP_PASS = $(LOGIN).$(PASSWORD)
- !endif
-
- !if "$(SQLACCESS)" == "0"
- PREP_ACCESS = /NOSQLACCESS
- !else
- PREP_ACCESS = /SQLACCESS
- !endif
-
- !if "$(BIND)" == "1"
- SQLPREP_FLAGS = $(PREP_ACCESS) /BIND $(APP)
- !else
- SQLPREP_FLAGS = $(PREP_ACCESS) /DB $(PREP_DB) /PASS $(PREP_PASS)
- !endif
-
- !if "$(DBLIB)" == "1"
- DBLIB_LIBS = $(DB_LIBRARY)
- !else
- DBLIB_LIBS =
- !endif
-
- LIBS = $(SYS_LIBS) $(CRT_LIBS) $(SUBSYS_LIBS) $(ESQL_LIBS) $(DBLIB_LIBS)
-
- #
- # This first 'all' target displays echo messages, then builds the app
- #
- all: echo $(APP).exe
-
- #
- # This builds the Windows NT for Intel app
- #
- !if "$(ENV)" == "win32i" || "$(ENV)" == "msvcnti"
- $(APP).exe: $(APP).obj $(UTIL).obj $(APP_RES)
- $(LINK) $(LINK_FLAGS) $(APP).obj $(UTIL).obj $(APP_RES) $(LIBS)
- !endif
-
- #
- # This builds the Windows or QuickWin app
- #
- !if "$(ENV)" == "win16" || "$(ENV)" == "qwin"
- $(APP).exe:: $(APP).obj $(UTIL).obj $(APP_DEF)
- $(LINK) $(LINK_FLAGS) $(APP).obj $(UTIL).obj,,,$(LIBS),$(APP_DEF);
- !endif
-
- #
- # This adds the Windows resource to the app
- #
- !if "$(ENV)" == "win16"
- $(APP).exe:: $(APP_RES)
- $(RC) /t $(APP_RES)
- !endif
-
- #
- # This builds the app object file
- #
- $(APP).obj: $(APP).c $(APP).h
- $(CC) $(CC_FLAGS) $(APP).c
-
- #
- # This builds the utililty object file
- #
- $(UTIL).obj: $(UTIL).c $(UTIL).h
- $(CC) $(CC_FLAGS) $(UTIL).c
-
- #
- # This builds the app resource
- #
- $(APP).res: $(APP).rc $(APP).h $(APP).ico
- $(RC) $(RC_FLAGS) $(APP).rc
- !if "$(ENV)" == "win32i"
- cvtres /i386 res.tmp /o $(APP).res
- !endif
-
- #
- # This builds the app C source from the Embedded SQL for C .SQC source
- #
- $(APP).c: $(APP).sqc
- $(SQLPREP) $(APP) $(SQLPREP_FLAGS)
-
- #
- # This handles apps without a header
- #
- $(APP).h:
-
- echo:
- @echo.
- @echo NMAKE building $(APP).EXE
- @echo.
-