makefile.win


# nmake makefile for Epson PhotoPC manipulation tool (Windows95 MSVC++)

#	Copyright (c) 1997,1998 Eugene G. Crosser
#	Copyright (c) 1998 Bruce D. Lightner (DOS/Windows support)
#
#	You may do virtually what you wish with this software, as long
#	as the explicit reference to its original author is retained.
#
#	THIS SOFTWARE IS PROVIDED AS IS AND COME WITH NO WARRANTY OF ANY
#	KIND, EITHER EXPRESSED OR IMPLIED.  IN NO EVENT WILL THE
#	COPYRIGHT HOLDER BE LIABLE FOR ANY DAMAGES RESULTING FROM THE
#	USE OF THIS SOFTWARE.

# Modified by Bruce D. Lightner (lightner@metaflow.com) on 1/2/98 to
# support builds under Microsoft Windows 95/NT
#
# To "make" using Microsoft's Visual C++ toolset, ensure that your
# PATH points to the proper development tools directory, verify that
# the INCLUDE and LIB environment variables are set, then enter the
# following commands:
#
#      nmake -f Makefile.win gclean
#      nmake -f Makefile.win

# -DUNIX
# Use UNIX specific I/O and other things.

# -DDOS
# Use DOS-specific I/O and other things.

# -DMSWINDOWS
# Use Windows-specific I/O and other things.

# -DLOWMEMORY
# Try to work even if the whole image dill not fit in addressable
# memory (e.g DOS or XENIX/286)

# -DINT16=<type-for-16bit-integer>
# Here you need to specify which integer type correspond to 16bit word.
# On Intel x86 and SPARC it is `short' and I think it is the same on
# most reasonable architectures.  But if you have anything really exotic,
# watch out!

# -DHAVE_CFMAKERAW
# Some modern unices have cfmakeraw() function.  If you are not sure,
# do not define this, it will work anyway.

# -DHAVE_SELECT_H
# On some unices, you need to #include <sys/select.h> to use select()
# system call.  On others, you don't and you cannot.  Look if there is
# a file "/usr/include/sys/select.h" and define accordingly.

# -DHAVE_STRFTIME
# use strftime(3) to make file names with format given in -f option

# This one is good for Windows95:
OPTS	= -DMSWINDOWS -DINT16=short -DHAVE_STRFTIME

CC	= cl
#CFLAGS	= -O2 -Zi
CFLAGS	= -O2
LD	= cl
LDFLAGS	= $(CFLAGS)
AR	= lib

INC = -I.


##### No need to touch anything below this line #####

LIBOBJS	= eph_read.obj eph_iob.obj eph_err.obj eph_cmd.obj eph_io.obj eph_open.obj getopt.obj usleep.obj strcscmp.obj

.c.obj:
	$(CC) $(CFLAGS) $(OPTS) $(INC) -c $<

all:	eph_io.lib photopc.exe epinfo.exe

eph_io.lib:	$(LIBOBJS)
	$(AR) /out:$@ $(LIBOBJS)

photopc.exe:	photopc.obj jscan.obj eph_io.lib
	$(LD) $(LDFLAGS) photopc.obj jscan.obj eph_io.lib

epinfo.exe:	epinfo.obj jscan.obj
	$(LD) $(LDFLAGS) epinfo.obj jscan.obj

clean:
	del *.obj
	del vc20.pdb
	del eph_io.bak
	del photopc.vcp
	del photopc.ilk
	del photopc.pdb
	del epinfo.vcp
	del epinfo.ilk
	del epinfo.pdb

gclean:	clean
	del eph_io.lib
	del photopc.exe
	del epinfo.exe

eph_cmd.obj: eph_io.h
eph_cmd.obj: eph_priv.h
eph_err.obj: eph_io.h
eph_err.obj: eph_priv.h
eph_io.obj: eph_io.h
eph_io.obj: eph_priv.h
eph_io.obj: usleep.h
eph_iob.obj: eph_io.h
eph_open.obj: eph_io.h
eph_open.obj: eph_priv.h
eph_open.obj: usleep.h
photopc.obj: eph_io.h
photopc.obj: jscan.h
photopc.obj: getopt.h
photopc.obj: strcscmp.h
photopc.obj: revision.h
epinfo.obj: jscan.h
jscan.obj: jscan.h

Back