C_MOD = server build cleanup compare decnet format get init\
        parse readport lookup_terminal pseudo rtpad telnet

MACRO_MOD = devices terminal epid_to_ipid

all : status server

debug : statusd serverd

status.exe : status.obj window.obj
        link $?, c/option

statusd : status.obj window.obj
        link/debug $?, c/option

server.exe : globaldef.obj $(C_MOD).obj $(MACRO_MOD).obj
        link $(C_MOD), globaldef, $(MACRO_MOD), c/option, \
                sys\$system:sys.stb/sel

serverd : $(C_MOD).obj $(MACRO_MOD).obj
        link/debug $(C_MOD), globaldef, $(MACRO_MOD), c/option, \
                sys\$system:sys.stb/sel

..c.obj :
        cc/debug $*

..mar.obj :
        macro/debug $*

status.obj : $*.c globals.h

$(MACRO_MOD).obj : $*.mar

globaldef.obj : $*.c globals.h server.h keywords.h jpicodes.h

$(C_MOD).obj : $*.c globals.h server.h jpicodes.h

# keywords.h is built by order_keywords, using keywords.dat
keywords.h : keywords.dat order_keywords.exe
        run order_keywords

# jpicodes.h is built by the program jpicodes
jpicodes.h : jpicodes.exe
        run jpicodes

# order_keywords reads keywords.dat and creates keywords.h
order_keywords.exe : order_keywords.obj
        link order_keywords,c/option

order_keywords.obj : order_keywords.c

jpicodes.exe : jpicodes.obj
        link jpicodes,c/option

jpicodes.obj : jpicodes.c
