makefile.dos


# 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/8/98 to
# support builds under Borland International Turbo C++ Version 3.0.
#
# To "make" using Borland International's Turbo C++ toolset, ensure that
# your PATH points to the proper Turbo C++ binary directory, then enter
# the following commands:
#
#      make -f Makefile.dos gclean
#      make -f Makefile.dos

# -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 DOS:
OPTS	= -DDOS -DLOWMEMORY -DINT16=short -DHAVE_STRFTIME

CC	= tcc

#MODEL	= -ml
MODEL	= -ms

CFLAGS	= $(MODEL) -O2 -G -wsus -wpar

LD	= tlink
LDFLAGS	= $(MODEL) -M

AR	= tlib

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 comio.obj
LIBLIST1=+eph_read.obj+eph_iob.obj+eph_err.obj+eph_cmd.obj+eph_io.obj
LIBLIST2=+eph_open.obj+getopt.obj+usleep.obj+strcscmp.obj+comio.obj

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

all:	eph_io.lib photopc.exe epinfo.exe

eph_io.lib:	$(LIBOBJS)
	del eph_io.lib
	$(AR) eph_io.lib $(LIBLIST1)
	$(AR) eph_io.lib $(LIBLIST2)

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

epinfo.exe:	epinfo.obj jscan.obj
	$(CC) $(CFLAGS) epinfo.obj jscan.obj

clean:
	del eph_io.bak
	del *.map
	del *.obj

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