#
# Makefile to create binary form COBOL sources
#

prefix=/usr/local/
exec_prefix=../../compiler
g_includes=-I/usr/local/include
g_libraries=-L/usr/local/lib

CCX=gcc
#COB=${exec_prefix}/htcobol
COB=htcobol
#COB=htcobol-0.55
ASM=as
RM=rm -fr

COPYBOOKS= -I../copybooks -I.
INCLUDES=-I./ ${g_includes} 
#LIBS=${g_libraries} -lhtcobol-0.55 -ldb -lm
LIBS=${g_libraries} -L../../lib -lhtcobol -ldb -lm
LDFLAGS=-ldl
#COBFLAGS=-P -D -F ${COPYBOOKS}
#COBFLAGS=-S -P -F ${COPYBOOKS}
COBFLAGS=-c -v -P -F ${COPYBOOKS}
ASMFLAGS=-D
CCXFLAGS=-g ${INCLUDES}

SRCS = EXEC85.cob

OBJS = $(SRCS:.cob=.o)

PROG = EXEC85

#include ${prefix}/config/COB.rules.in
#
# Rules for compiling .cob sources
.SUFFIX: .cob .o

%.o: %.cob
	$(COB) $(COBFLAGS) $<
#	$(ASM) $(ASMFLAGS) -o $*.o -a=$*.listing.0.txt $*.s
#	@grep -v 'LISTING' $*.listing.0.txt | sed '/^$$/d' >$*.s.txt 
#	@${RM} $*.listing.0.txt
#
#include ${prefix}/config/COB.build.tmpl.in

all: ${PROG}

${PROG}: ${OBJS}
	$(CCX) -o $@ ${OBJS} $(LDFLAGS) $(LIBS)
#	strip $@

${PROG}.cob:
	perl nc_exec85.pl newcob.val

setup:	${PROG}.cob ${PROG}
	./${PROG}
	perl nc_extr.pl XXXXX002
clean:
	@${RM} ${OBJS} $(PROG) core $(PROG)*lis ${PROG}*txt ${PROG}*s \
	core copybooks XX CM DB IC IF IX NC OB RL RW SG SM SQ ST \
	t

cleanall: clean
	@${RM} core *run.err.trace.txt *run.trace.txt temp*cob \
	XXXXX002 XXXXX055 EXEC85.cob logfile*txt

programlist:
	@echo ${PROG} ${PROGS}
