# $Source: /usr/home/dhesi/zoo/RCS/makefile.os2,v $
# $Id: makefile.emx,v 1.6 91/07/07 18:39:28 dhesi Exp $

# works with emx+gcc and DMAKE under OS/2

DEFINES = -DOS2 -DBIG_MEM -DNDEBUG

default:
	@echo "Please make target gcc-static, gcc-dll or gcc-debug."

gcc-static:
	$(MAKE) CC="gcc -Zomf -Zsys -O" O=".obj" all -f makefile.emx

gcc-dll:
	$(MAKE) CC="gcc -Zomf -Zmtd -O" O=".obj" all -f makefile.emx

gcc-debug:
	$(MAKE) CC="gcc -g" O=".o" all -f makefile.emx

CFLAGS = -funsigned-char $(DEFINES)
LFLAGS = -los2

# Object files for zoo
OBJZ = 	addbfcrc$O addfname$O basename$O comment$O \
	crcdefs$O getfile$O lzc$O lzd$O machine$O \
	makelist$O misc$O misc2$O nextfile$O needed$O \
	options$O parse$O portable$O prterror$O \
	version$O zoo$O zooadd$O zooadd2$O zoodel$O \
	zooext$O zoofilt$O zoolist$O zoopack$O \
	io$O lzh$O maketbl$O maketree$O huf$O \
	encode$O decode$O os2$O

# Object files for fiz
OBJF = 	fiz$O addbfcrc$O portable$O crcdefs$O

.SUFFIXES: .c $O

.c$O :
	$(CC) $(CFLAGS) -c $<

all: zoo.exe fiz.exe

zoo.exe: $(OBJZ) zoo.def
	$(CC) $(OBJZ) zoo.def -o $@ $(LFLAGS)

fiz.exe: $(OBJF) fiz.def
	$(CC) $(OBJF) fiz.def -o $@ $(LFLAGS)

clean :
	del *$O

#################################################################
# dependencies
#################################################################

addfname$O: options.h various.h zoo.h zoofns.h zooio.h zoomem.h
basename$O: assert.h debug.h options.h parse.h various.h zoo.h zoofns.h zooio.h
comment$O: errors.i options.h portable.h various.h zoo.h zoofns.h zooio.h
crcdefs$O: options.h
decode$O: ar.h lzh.h options.h zoo.h
encode$O: ar.h errors.i lzh.h options.h zoo.h
fiz$O: options.h portable.h various.h zoo.h zoofns.h zooio.h
generic$O: nixmode.i nixtime.i
getfile$O: options.h various.h zoo.h zoofns.h zooio.h zoomem.h
huf$O: ar.h errors.i lzh.h options.h zoo.h
io$O: ar.h errors.i lzh.h options.h portable.h zoo.h zooio.h
lzc$O: assert.h debug.h lzconst.h options.h various.h zoo.h zoofns.h zooio.h zoomem.h
lzd$O: assert.h debug.h lzconst.h options.h various.h zoo.h zoofns.h zooio.h zoomem.h
lzh$O: ar.h errors.i options.h zoo.h
machine$O: emx.c options.h various.h zoo.h zoofns.h zooio.h
makelist$O: assert.h debug.h errors.i options.h portable.h various.h zoo.h zoofns.h zooio.h
maketbl$O: ar.h lzh.h options.h zoo.h
maketree$O: ar.h lzh.h options.h zoo.h
misc$O: errors.i options.h portable.h various.h zoo.h zoofns.h zooio.h
misc2$O: errors.i options.h portable.h various.h zoo.h zoofns.h zooio.h zoomem.h
msdos$O: errors.i options.h zoo.h zoofns.h zooio.h
needed$O: debug.h options.h portable.h various.h zoo.h zoofns.h zooio.h
nextfile$O: options.h various.h zoo.h
options$O: errors.i options.h various.h zoo.h zoofns.h zooio.h
parse$O: assert.h options.h parse.h various.h zoo.h zoofns.h zooio.h
portable$O: assert.h debug.h machine.h options.h portable.h various.h zoo.h zoofns.h zooio.h
prterror$O: options.h various.h zoofns.h zooio.h
zoo$O: errors.i options.h various.h zoo.h zoofns.h zooio.h zoomem.h
zooadd$O: debug.h errors.i options.h parse.h portable.h various.h zoo.h zoofns.h zooio.h zoomem.h
zooadd2$O: assert.h debug.h errors.i options.h parse.h various.h zoo.h zoofns.h zooio.h
zoodel$O: errors.i options.h portable.h various.h zoo.h zoofns.h zooio.h
zooext$O: errors.i machine.h options.h parse.h portable.h various.h zoo.h zoofns.h zooio.h
zoofilt$O: options.h
zoolist$O: errors.i options.h portable.h various.h zoo.h zoofns.h zooio.h zoomem.h
zoopack$O: errors.i options.h portable.h various.h zoo.h zoofns.h zooio.h
