# Makefile to construct example for wrapgen paper.
SHELL = /bin/sh
FC = f77
CC = cc
OBJS = example.o example_fsub.o example_csub.o \
       wrapper_c.o wrapper_f.o
CFLAGS = -DLANGUAGE_C -Dunix -Diris4D
FFLAGS = -DLANGUAGE_FORTRAN -Dunix -Diris4D

example: $(OBJS)
	$(FC) -o example $(OBJS) 

example.o: example.c wrapper_c.h
	$(CC) $(CFLAGS) -c example.c

example_fsub.o: example_fsub.f wrapper_f.h
	$(FC) $(FFLAGS) -c example_fsub.f

example_csub.o: example_csub.c
	$(CC) $(CFLAGS) -c example_csub.c

wrapper_c.o: wrapper_c.c
	$(CC) $(CFLAGS) -c wrapper_c.c

wrapper_f.o: wrapper_f.c
	$(CC) $(CFLAGS) -c wrapper_f.c

wrapper_c.c: wrap_cdef.proto
	wrapgen -c -i wrap_cdef.proto -o wrapper_c.c \
                -h wrapper_f.h

wrapper_f.h: wrapper_c.c
	( : )

wrapper_f.c: wrap_fdef.proto
	wrapgen -f -i wrap_fdef.proto -o wrapper_f.c \
                -h wrapper_c.h

wrapper_c.h: wrapper_f.c
	( : )

