1Date: Fri, 18 Apr 1997 09:25:09 EDT 2To: "'sam@cthulhu.engr.sgi.com'" <sam@cthulhu.engr.sgi.com> 3cc: "'tiff@sgi.engr.sgi.com'" <tiff@sgi.engr.sgi.com> 4 5From: xingong chang <xingong@feith1.FEITH.COM> 6Subject: Contribution: libtiff for Windows-nt console applications 7 8Return-Path: xingong@feith1.FEITH.COM 9Delivery-Date: Fri, 18 Apr 1997 06:37:38 -0700 10Return-Path: xingong@feith1.FEITH.COM 11MIME-Version: 1.0 12 13Hi, 14I built the libtiff under WINNT 4.0 as a 32-bit library for pure 15console applications. I made the makefile.nt based on Philippe 16Tenenhaus' makefile.w95 file. Since I want my stuff to be a pure 17console application running on WinNT, Dave Dyer's makefile for WINNT is 18not good for me since it is for Windows applications. 19 20I used the tif_msdos.c file instead of the tif_win32.c in the $(OBJS) 21list because tif_win32.c is not a pure console program, it includes 22some function calls such as MessageBox etc which requires windows 23application library ($winslib as defined in <ntwin32.mak>). 24 25unlike Philippe Tenenhaus' makefile.w95 file, this makefile.nt does 26support fax3 stuff. And to make the mkg3states.exe,the getopt.obj is 27needed. "getopt" package is ATT public domain source for getopt(3). 28Also you need to inlcude the g3states.h in tif_fax.c fileand modify the 29tif_fax3.h to delete the external declaration of FFFaxMainTable, 30TIFFFaxWhileTable and TIFFFaxBlackTable 31 32 33libtiff version: TIFFLIB_VERSION 19960307 34 35Hardware you are using: i386 36 37Operating system you are using: Windows NT 4.0 38 39C compiler : Microsoft Visual C++ 4.1 40 41NMAKE : Microsoft nmake 1.61 42 43 44Here is the makefile.nt I used: 45--------------------------------------------------------- 46 47# makefile.nt for the tiff library 48# Tag Image File Format Library 49# 50# Copyright (c) 1988, 1989, 1990, 1991, 1992 Sam Leffler 51# Copyright (c) 1991, 1992 Silicon Graphics, Inc. 52# 53# Permission to use, copy, modify, distribute, and sell this software and 54# its documentation for any purpose is hereby granted without fee, provided 55# that (i) the above copyright notices and this permission notice appear in 56# all copies of the software and related documentation, and (ii) the names of 57# Sam Leffler and Silicon Graphics may not be used in any advertising or 58# publicity relating to the software without the specific, prior written 59# permission of Sam Leffler and Silicon Graphics. 60# 61# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 62# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 63# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 64# 65# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR 66# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, 67# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 68# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 69# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 70# OF THIS SOFTWARE. 71# 72# This Makefile is for use with microsoft nmake version 1.61 73# 74 75!include <ntwin32.mak> 76 77DEFS = -DBSDTYPES -DO_RDONLY=S_IREAD -DO_RDWR=S_IWRITE 78 79INCS= tiff.h tiffio.h 80SRCS= tif_aux.c \ 81 tif_close.c \ 82 tif_codec.c \ 83 tif_compress.c \ 84 tif_dir.c \ 85 tif_dirinfo.c \ 86 tif_dirread.c \ 87 tif_dirwrite.c \ 88 tif_dumpmode.c \ 89 tif_error.c \ 90 tif_getimage.c \ 91 tif_jpeg.c \ 92 tif_flush.c \ 93 tif_lzw.c \ 94 tif_next.c \ 95 tif_open.c \ 96 tif_packbits.c \ 97 tif_predict \ 98 tif_print.c \ 99 tif_read.c \ 100 tif_swab.c \ 101 tif_strip.c \ 102 tif_thunder.c \ 103 tif_tile.c \ 104 tif_version.c \ 105 tif_warning.c \ 106 tif_write.c \ 107 tif_msdos.c \ 108 tif_fax3.c 109 110 111OBJS= tif_aux.obj \ 112 tif_close.obj \ 113 tif_codec.obj \ 114 tif_compress.obj \ 115 tif_dir.obj \ 116 tif_dirinfo.obj \ 117 tif_dirread.obj \ 118 tif_dirwrite.obj \ 119 tif_dumpmode.obj \ 120 tif_error.obj \ 121 tif_getimage.obj \ 122 tif_jpeg.obj \ 123 tif_flush.obj \ 124 tif_lzw.obj \ 125 tif_next.obj \ 126 tif_open.obj \ 127 tif_packbits.obj \ 128 tif_predict.obj \ 129 tif_print.obj \ 130 tif_read.obj \ 131 tif_swab.obj \ 132 tif_strip.obj \ 133 tif_thunder.obj \ 134 tif_tile.obj \ 135 tif_version.obj \ 136 tif_warning.obj \ 137 tif_write.obj \ 138 tif_msdos.obj \ 139 tif_fax3.obj 140 141#To make the mkg3states.exe,the getopt.obj is needed. getopt package is 142# ATT public domain source for getopt(3). 143EXTRA_OBJS = getopt.obj 144 145all: libtiff.lib 146 147libtiff.lib: $(OBJS) 148 del libtiff.lib 149 lib -out:libtiff.lib $(OBJS) 150 151.c.obj: 152 $(cc) $(DEFS) $(cdebug) $(cflags) $(cvarsmt) $*.c 153 154 155#To include fax3 support, we did this modification 156#add to the build script : tif_fax3.c and tif_fax3.obj 157#define CCITT_SUPPORT in the file tifconf.h 158#inlcude the g3states.h in tif_fax.c file 159#modify the tif_fax3.h to delete the TIFFFaxMainTable,TIFFFaxWhileTable 160# TIFFFaxBlackTable etc external declaration 161#mkg3states.exe without any command line options will produce the g3states.h 162 163$(OBJS): tiffio.h tiff.h tiffcomp.h tiffiop.h tiffconf.h 164tif_fax3.obj: tif_fax3.c g3states.h t4.h tif_fax3.h 165 166g3states.h: mkg3states.obj t4.h 167 $(link) $(ldebug) $(conslflags) -out:mkg3states.exe mkg3states.obj \ 168 $(EXTRA_OBJS) 169 mkg3states.exe 170 171clean: 172 del *.obj 173 del g3states.h 174 175clobber: 176 del libtiff.lib 177 del *.obj 178 del g3states.h 179 180 181 182[60;1H[K 183