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


OBJFILE	= $(CKLIB)/ckobj.o $(CKLIB)/memsa.o $(CKLIB)/$(QSFILE) \
	cmp_builtin.o cmp_ropm.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 pgen.o


sim :	$(OBJFILE)
	rm -f sim
#	$(CC) -g -o sim $(OBJFILE) -lcdb
	$(CC) -O -o sim $(OBJFILE) 
	chmod gu=rwx,o=rx sim



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) $(LONG_JUMP) $(CFLAGS) $(CPRIOFLAGS) $(CPRIOTYPEFLAG) $(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_qm.o: $(LIB)/typedefs.h $(LIB)/os_macros.c $(LIB)/macros.c \
	$(LIB)/msgmacros.c $(LIB)/seq_macros.c $(LIB)/gen.h $(LIB)/cmp_qm.c \
	$(CKCOM)/cksys.h $(CKLIB)/host.h
	rm -f cmp_qm.o
	$(CC) $(CFLAGS) $(CPRIOFLAGS) $(CPRIOTYPEFLAG) -DOPS=$(OPSFILE) $(LIB)/cmp_qm.c
	chmod g+rw cmp_qm.o

cmp_builtin.o: $(LIB)/typedefs.h $(LIB)/os_macros.c $(LIB)/macros.c \
	$(LIB)/be_macros.c $(LIB)/seq_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 $(MAC) $(LIB)/cmp_ropm.c \
	$(CKCOM)/cksys.h $(CKLIB)/host.h
	rm -f cmp_ropm.o
	$(CC) $(CFLAGS) $(CPRIOFLAGS) $(CPRIOTYPEFLAG) $(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) $(CPRIOFLAGS) $(CPRIOTYPEFLAG) $(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

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

pgen.o : $(LIB)/typedefs.h $(LIB)/os_macros.c $(LIB)/macros.c \
	$(LIB)/priority_macros.c $(LIB)/pgen.c
	rm -f pgen.o
	$(CC) $(CFLAGS) $(CPRIOFLAGS) $(CPRIOTYPEFLAG) $(LIB)/pgen.c
	chmod g+rw pgen.o
