OBJDIR = ../../obj.$(ARCH)/zipfiles

ifdef ZLIB
SRCS = uzip2mem.c uzipsupp.c zipfiles.c
else
SRCS = adler32.c infblock.c infcodes.c inffast.c inflate.c inftrees.c \
	infutil.c uzip2mem.c uzipsupp.c zipfilesc.c zutil.c
endif

# Could `Pattern Replacement Macros' be used to change x.c -> $(OBJDIR)/x.o ?
# With all make commands used to compile X-Mame on all "supported" platforms
# It was like: ZOBJS= $(SRCS: %.c= $(OBJDIR)/%.o) ?

ifdef ZLIB
ZOBJS = $(OBJDIR)/uzip2mem.o $(OBJDIR)/uzipsupp.o \
	$(OBJDIR)/zipfiles.o
else
ZOBJS =	$(OBJDIR)/adler32.o  $(OBJDIR)/infblock.o $(OBJDIR)/infcodes.o \
	$(OBJDIR)/inffast.o  $(OBJDIR)/inflate.o  $(OBJDIR)/inftrees.o \
	$(OBJDIR)/infutil.o  $(OBJDIR)/uzip2mem.o $(OBJDIR)/uzipsupp.o \
	$(OBJDIR)/zipfiles.o $(OBJDIR)/zutil.o
endif

TRG=	$(OBJDIR)/zipfiles.a

all:	 $(TRG)

clean:
	rm -f $(TRG) $(ZOBJS)

$(TRG):	$(ZOBJS)
	ar -rcv $@ $(ZOBJS)

$(OBJDIR)/%.o: %.c
	$(CC) $(DEFS) -I../../src/ $(MS) $(JS) $(CFLAGS) -o $@ -c $<
#	$(CC) $(DEFS) -I../../src/ $(MS) $(JS) -DTRACE $(CFLAGS) -o $@ -c $<

$(OBJDIR)/adler32.o:  adler32.c zlib.h zconf.h
$(OBJDIR)/infblock.o: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h
$(OBJDIR)/infcodes.o: infcodes.c zutil.h zlib.h zconf.h inftrees.h infblock.h \
			infcodes.h infutil.h inffast.h
$(OBJDIR)/inffast.o:  inffast.c zutil.h zlib.h zconf.h inftrees.h infblock.h \
			infcodes.h infutil.h inffast.h
$(OBJDIR)/inflate.o:  inflate.c zutil.h zlib.h zconf.h infblock.h
$(OBJDIR)/inftrees.o: inftrees.c zutil.h zlib.h zconf.h inftrees.h
$(OBJDIR)/infutil.o:  infutil.c zutil.h zlib.h zconf.h infblock.h inftrees.h \
			infcodes.h infutil.h
$(OBJDIR)/uzip2mem.o: uzip2mem.c uzip2mem.h uzipsupp.h zlib.h zconf.h trace.h
$(OBJDIR)/uzipsupp.o: uzipsupp.c uzipsupp.h
$(OBJDIR)/zipfiles.o: zipfiles.c zipfiles.h uzip2mem.h uzipsupp.h \
			list.h trace.h
$(OBJDIR)/zutil.o:    zutil.c zutil.h zlib.h zconf.h
