# Project:   zlib_1_03


# Toolflags:
CCflags = -c -depend !Depend -IC: -g -throwback  -DRISCOS  -fnah 
C++flags = -c -depend !Depend -IC: -throwback
Linkflags = -aif -c++ -o $@ 
ObjAsmflags = -throwback -NoCache -depend !Depend
CMHGflags = 
LibFileflags = -c -l -o $@ 
Squeezeflags = -o $@


# Final targets:
@.zlib_lib:   @.o.adler32 @.o.compress @.o.crc32 @.o.deflate @.o.gzio \
        @.o.infblock @.o.infcodes @.o.inffast @.o.inflate @.o.inftrees @.o.infutil @.o.trees \
        @.o.uncompress @.o.zutil 
        LibFile $(LibFileflags) @.o.adler32 @.o.compress @.o.crc32 @.o.deflate \
        @.o.gzio @.o.infblock @.o.infcodes @.o.inffast @.o.inflate @.o.inftrees @.o.infutil \
        @.o.trees @.o.uncompress @.o.zutil 
@.test:   @.tests.minigzip @.tests.example 
        echo Please run "Test" in directory tests 
@.tests.minigzip:   @.o.minigzip @.zlib_lib C:o.Stubs 
        Link $(Linkflags) @.o.minigzip @.zlib_lib C:o.Stubs 
@.tests.example:   @.o.example @.zlib_lib C:o.Stubs 
        Link $(Linkflags) @.o.example @.zlib_lib C:o.Stubs 


# User-editable dependencies:
.c.o:
        cc $(ccflags) -o $@ $<

# Static dependencies:
@.o.example:   @.tests.c.example
        cc $(ccflags) -o @.o.example @.tests.c.example 
@.o.minigzip:   @.tests.c.minigzip
        cc $(ccflags) -o @.o.minigzip @.tests.c.minigzip 


# Dynamic dependencies:
o.minigzip:	tests.c.minigzip
o.minigzip:	h.zlib
o.minigzip:	h.zconf
o.example:	tests.c.example
o.example:	h.zlib
o.example:	h.zconf
