CC = cc
CKLIB = $(ROOT)/ck/nonshared/$(MACHINE)
CKCOM = $(ROOT)/ck/nonshared/common
OPSFILE = "\"$(ROOT)/rolog_compiler/gen/ops\""
LIB = $(ROOT)/rolog_compiler/common
CFLAGS = -c  -O -I. -I$(LIB) -I$(CKLIB) -I$(CKCOM) -I$(GENLIB)
GENLIB = $(ROOT)/rolog_compiler/gen

OBJFILE	= $(CKLIB)/ckobj.o $(CKLIB)/queue.o\
	cmp_ropm.o cmp_builtin.o globals.o names_utl.o \
	cmp_join.o cmp_unify.o cmp_pack.o garbage.o  cmp_qm.o\
	printterm.o  mem.o interp.o load.o cmp_seq.o \
	$(GENLIB)/gen_globals.o 

all:	sim.node sim.host

.SUFFIXES: .E .c

interp.E:
	$(CC) -E $(CFLAGS) $(LIB)/interp.c > interp.E


sim.node : $(OBJFILE) $(CKLIB)/node.o
	rm -f sim.node
	$(CC) -o sim.node  $(OBJFILE) $(CKLIB)/node.o -lnode
	chmod gu=rwx,o=rx sim.node


sim.host: $(CKLIB)/ckobj.o $(CKLIB)/queue.o cmp_host.o $(CKLIB)/host.o
	rm -f sim.host
	$(CC) -o sim.host  $(CKLIB)/ckobj.o $(CKLIB)/queue.o cmp_host.o $(CKLIB)/host.o -lhost -lsocket
	chmod gu=rwx,o=rx sim.host










load.o :  $(LIB)/typedefs.h $(LIB)/macros.c $(LIB)/gen.h load.c \
	$(CKCOM)/cksys.h $(CKLIB)/host.h
	rm -f load.o
	$(CC) $(CFLAGS)  load.c
	chmod g+rw load.o

cmp_host.o: $(LIB)/typedefs.h cmp_host.c $(CKCOM)/cksys.h $(CKLIB)/host.h
	rm -f cmp_host.o
	$(CC) $(CFLAGS) cmp_host.c
	chmod g+rw cmp_host.o

cmp_qm.o: $(LIB)/typedefs.h $(LIB)/os_macros.c $(LIB)/macros.c \
	$(LIB)/msgmacros.c $(LIB)/seq_macros.c $(LIB)/gen.h cmp_qm.c \
	$(CKCOM)/cksys.h $(CKLIB)/host.h
	rm -f cmp_qm.o
	$(CC) $(CFLAGS) cmp_qm.c
	chmod g+rw cmp_qm.o



interp.o :  $(LIB)/typedefs.h $(LIB)/gen.h $(LIB)/os_macros.c $(LIB)/macros.c \
	$(LIB)/ropm_macros.c $(LIB)/be_macros.c $(LIB)/interp.c $(LIB)/ropm.h \
	$(LIB)/seq_macros.c $(GENLIB)/instruct.h $(LIB)/registers.c \
	$(CKCOM)/cksys.h $(CKLIB)/host.h
	rm -f interp.o
	$(CC) $(CFLAGS) $(LIB)/interp.c
	chmod g+rw interp.o


globals.o : $(LIB)/typedefs.h $(LIB)/gen.h $(LIB)/globals.c \
	$(CKCOM)/cksys.h $(CKLIB)/host.h
	rm -f globals.o
	$(CC) $(CFLAGS) $(LIB)/globals.c
	chmod g+rw globals.o


cmp_builtin.o: $(LIB)/typedefs.h $(LIB)/os_macros.c $(LIB)/macros.c \
	$(LIB)/be_macros.c $(LIB)/cmp_builtin.c $(CKCOM)/cksys.h $(CKLIB)/host.h
	rm -f cmp_builtin.o
	$(CC) $(CFLAGS) $(LIB)/cmp_builtin.c
	chmod g+rw cmp_builtin.o

cmp_ropm.o : $(LIB)/typedefs.h $(LIB)/ropm.h $(LIB)/gen.h $(LIB)/os_macros.c \
	$(LIB)/macros.c $(LIB)/ropm_macros.c $(LIB)/cmp_ropm.c \
	$(CKCOM)/cksys.h $(CKLIB)/host.h
	rm -f cmp_ropm.o
	$(CC) $(CFLAGS) $(LIB)/cmp_ropm.c
	chmod g+rw cmp_ropm.o


garbage.o : $(LIB)/typedefs.h $(LIB)/ropm.h $(LIB)/macros.c $(LIB)/os_macros.c\
	$(LIB)/garbage.c $(CKCOM)/cksys.h $(CKLIB)/host.h
	rm -f garbage.o
	$(CC) $(CFLAGS) $(LIB)/garbage.c
	chmod g+rw garbage.o


names_utl.o: $(LIB)/typedefs.h $(LIB)/gen.h $(LIB)/os_macros.c $(LIB)/macros.c\
	$(LIB)/names_utl.c $(CKCOM)/cksys.h $(CKLIB)/host.h
	rm -f names_utl.o
	$(CC) $(CFLAGS) $(LIB)/names_utl.c
	chmod g+rw names_utl.o


cmp_join.o : $(LIB)/typedefs.h  $(LIB)/os_macros.c $(LIB)/macros.c \
	$(LIB)/cmp_join.c $(CKCOM)/cksys.h $(CKLIB)/host.h
	rm -f cmp_join.o
	$(CC) $(CFLAGS)  $(LIB)/cmp_join.c
	chmod g+rw cmp_join.o

cmp_pack.o : $(LIB)/typedefs.h $(LIB)/os_macros.c $(LIB)/macros.c \
	$(LIB)/be_macros.c $(LIB)/msgmacros.c $(LIB)/cmp_pack.c \
	$(CKCOM)/cksys.h $(CKLIB)/host.h
	rm -f cmp_pack.o
	$(CC) $(CFLAGS)  $(LIB)/cmp_pack.c
	chmod g+rw cmp_pack.o

cmp_unify.o : $(LIB)/typedefs.h $(LIB)/os_macros.c $(LIB)/macros.c \
	$(LIB)/be_macros.c $(LIB)/seq_macros.c $(LIB)/cmp_unify.c \
	$(CKCOM)/cksys.h $(CKLIB)/host.h
	rm -f cmp_unify.o
	$(CC) $(CFLAGS)  $(LIB)/cmp_unify.c
	chmod g+rw cmp_unify.o

cmp_seq.o : $(LIB)/typedefs.h $(LIB)/os_macros.c $(LIB)/macros.c \
	$(LIB)/be_macros.c $(LIB)/seq_macros.c $(LIB)/cmp_seq.c \
	$(CKCOM)/cksys.h $(CKLIB)/host.h
	rm -f cmp_seq.o
	$(CC) $(CFLAGS)  $(LIB)/cmp_seq.c
	chmod g+rw cmp_seq.o


printterm.o : $(LIB)/typedefs.h $(LIB)/os_macros.c $(LIB)/macros.c \
	$(LIB)/be_macros.c $(LIB)/seq_macros.c 	$(LIB)/printterm.c \
	$(CKCOM)/cksys.h $(CKLIB)/host.h
	rm -f printterm.o
	$(CC) $(CFLAGS)  $(LIB)/printterm.c
	chmod g+rw printterm.o


mem.o : $(LIB)/typedefs.h $(LIB)/os_macros.c $(LIB)/macros.c $(LIB)/mem.c \
	$(CKCOM)/cksys.h $(CKLIB)/host.h
	rm -f mem.o
	$(CC) $(CFLAGS)  $(LIB)/mem.c
	chmod g+rw mem.o







