
CC            = cc
ASM           = objasm                              

# to compile as an application rather than as a module:
#   remove -DBUILD_MODULE  from CCFlags
#   remove -zM             from CCFlags
#   remove -m              from LinkFlags
#   remove o.header        from Objects
#   delete all the object files before recompilation
CCFlags       = -c -throwback -INetlib: -IC: -IOS: -D__riscos__
LinkFlags     = -o $@
ASMflags      = -ThrowBack -Stamp -quit -CloseExec

Libs          = OSLib:o.OSLib C:o.Stubs Netlib:o.netlib
Objects       = o.vncserv o.d3des o.vncauth o.pixtrans o.vncbuffer \
                o.hextile o.areas o.ipserv o.mcode \
                o.frontend o.server


vncserver:    $(Objects)
              Link $(Linkflags) $(Objects) $(Libs)

.c.o:;        $(CC) $(CCflags) $< -o $@
.s.o:;        $(ASM) $(ASMflags) -from $< -to $@

# Dynamic dependencies:
o.server:     c.server h.server h.ipserv h.mcode \
              h.vnckeys h.vncserv h.ipserv h.mcode
o.frontend:   c.frontend h.frontend h.server
o.ipserv:     c.ipserv h.ipserv
o.mcode:      s.mcode h.mcode

o.header:     cmhg.header
              cmhg cmhg.header -o o.header

o.vncserv:    c.vncserv h.vncserv h.pixtrans h.proto h.areas \
              h.hextile h.vncauth
o.d3des:      c.d3des h.d3des
o.vncauth:    c.vncauth h.d3des h.vncauth
o.vncbuffer:  c.vncbuffer h.vncserv h.proto h.vncbuffer
o.pixtrans:   c.pixtrans h.vncserv h.proto
o.hextile:    c.hextile h.vncbuffer h.pixtrans h.proto h.vncserv
o.areas:      c.areas h.areas
