tinycobol/test.code/t33/Makefile

70 lines
1.7 KiB
Makefile

prefix=..
exec_prefix=../../compiler
g_includes=-I/usr/local/include
g_libraries=-L/usr/local/lib
lib_name2=subrot2
lib_name3=subrot3
lib_major=1
lib_minor=0
CCX=gcc
COB=htcobol
ASM=as
RM=rm -f
RANLIB=ranlib
AR=ar
COPYBOOKS= -I../copybooks -I.
INCLUDES= -I/usr/local/include
LIBS=${g_libraries} -L. -lhtcobol -ldb -lm -ldl
LDFLAGS=-rdynamic
#COBFLAGS=-P -D -g -t ${COPYBOOKS}
COBFLAGS=-P ${COPYBOOKS}
ASMFLAGS=-D
CCXFLAGS=-g ${INCLUDES}
SHARED_LIB2=lib${lib_name2}.so
SHARED_LIB3=lib${lib_name3}.so
SRC1 = dyntest.cob
SRC2 = subrots.cob
SRC3 = subrotc.c
OBJS1 = $(SRC1:.cob=.o)
OBJS2 = $(SRC2:.cob=.o)
OBJS3 = $(SRC3:.c=.o)
OBJS = $(OBJS1) $(OBJS2) $(OBJS3)
PROG1 = dyntest
#PROG2 = subrots
PROGS = $(PROG1)
include ${prefix}/config/C.rules.in
include ${prefix}/config/COB.rules.in
include ${prefix}/config/COB.build.tmpl.in
all: ${SHARED_LIB2} ${SHARED_LIB3} ${PROGS}
${PROG1}: ${OBJS1}
$(CCX) -o $@ ${OBJS1} $(LDFLAGS) $(LIBS)
# strip $@
${SHARED_LIB2}: ${OBJS2}
gcc -shared -Wl,-soname,${SHARED_LIB2}.${lib_major}.${lib_minor} -o ${SHARED_LIB2}.${lib_major}.${lib_minor} ${OBJS2}
ln -s ${SHARED_LIB2}.${lib_major}.${lib_minor} ${SHARED_LIB2}
ln -s ${SHARED_LIB2}.${lib_major}.${lib_minor} ${SHARED_LIB2}.${lib_major}
${SHARED_LIB3}: ${OBJS3}
gcc -shared -Wl,-soname,${SHARED_LIB3}.${lib_major}.${lib_minor} -o ${SHARED_LIB3}.${lib_major}.${lib_minor} ${OBJS3}
ln -s ${SHARED_LIB3}.${lib_major}.${lib_minor} ${SHARED_LIB3}
ln -s ${SHARED_LIB3}.${lib_major}.${lib_minor} ${SHARED_LIB3}.${lib_major}
clean:
@${RM} ${OBJS} $(PROG1) $(PROG1)*lis ${PROG1}*s ${PROG1}*i \
${SHARED_LIB2} ${SHARED_LIB2}.${lib_major} ${SHARED_LIB2}.${lib_major}.${lib_minor} \
${SHARED_LIB3} ${SHARED_LIB3}.${lib_major} ${SHARED_LIB3}.${lib_major}.${lib_minor} \
core *lis *s *i