C_MOD = server build cleanup compare decnet format get init\
	parse readport lookup_indexed pseudo rtpad secure telnet
MACRO_MOD = devices terminal epid_to_ipid
CC =
LINK =

all : status server manage

status.exe : status.obj window.obj
	link/notrace$(LINK) $?, c/option

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

manage.exe : manage.obj
	link/notrace$(LINK) $?, c/option

.c.obj :
	cc/debug$(CC) $*

.mar.obj :
	macro/debug $*

status.obj : $*.c globals.h

manage.obj : $*.c config.h

$(MACRO_MOD).obj : $*.mar

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

# format and secure need to be compiled if the config file is changed
format.obj secure.obj : $*.c config.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/notrace$(LINK) order_keywords,c/option

order_keywords.obj : order_keywords.c

jpicodes.exe : jpicodes.obj
	link/notrace$(LINK) jpicodes,c/option

jpicodes.obj : jpicodes.c
