tinycobol/test.code/t25/Makefile

85 lines
1.7 KiB
Makefile

#
#
#
prefix=..
exec_prefix=../../compiler
g_includes=-I/usr/local/include
g_libraries=-L/usr/local/lib
lib_name1=testz1
lib_name2=testz2
lib_major=0
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
LIBS1=${g_libraries} -lhtcobol -L. -ltestz1 -ldb -ldl -lm
LIBS2=${g_libraries} -lhtcobol -L. -ltestz2 -ldb -ldl -lm
LIBS=${g_libraries} -lhtcobol -ldb
LDFLAGS=
COBFLAGS=-P ${COPYBOOKS}
ASMFLAGS=-D
CCXFLAGS=-g ${INCLUDES}
STATIC_LIB=lib${lib_name1}.a
SHARED_LIB=lib${lib_name2}.so
SRC1 = test25.cob
SRC2 = test25a.cob
SRC3 = test25b.c
SRC4 = test25c.c
OBJS1 = $(SRC1:.cob=.o)
OBJS2 = $(SRC2:.cob=.o)
OBJS3 = $(SRC3:.c=.o)
OBJS4 = $(SRC4:.c=.o)
OBJS = $(OBJS2) $(OBJS3)
PROG1 = test25z1
PROG2 = test25z2
PROGS = $(PROG1) $(PROG2)
include ${prefix}/config/C.rules.in
include ${prefix}/config/COB.rules.in
include ${prefix}/config/COB.build.tmpl.in
all: ${STATIC_LIB} ${SHARED_LIB} ${PROGS}
#all: ${SHARED_LIB} ${PROGS}
shared: ${SHARED_LIB} ${PROGS}
static: ${STATIC_LIB} ${PROGS}
${PROG1}: ${OBJS1}
$(CCX) -o $@ ${OBJS1} $(LDFLAGS) $(LIBS1)
# strip $@
${PROG2}: ${OBJS1}
$(CCX) -o $@ ${OBJS1} $(LDFLAGS) $(LIBS2)
# strip $@
${STATIC_LIB}: ${OBJS}
${AR} cr ${STATIC_LIB} ${OBJS}
${RANLIB} ${STATIC_LIB}
${SHARED_LIB}: ${OBJS}
gcc -shared -Wl,-soname,${SHARED_LIB}.${lib_major}.${lib_minor} -o ${SHARED_LIB}.${lib_major}.${lib_minor} *.o
ln -s ${SHARED_LIB}.${lib_major}.${lib_minor} ${SHARED_LIB}
ln -s ${SHARED_LIB}.${lib_major}.${lib_minor} ${SHARED_LIB}.${lib_major}
clean:
@${RM} $(PROG1) $(PROG2) ${OBJS1} ${OBJS} *.lis core \
${STATIC_LIB} ${SHARED_LIB} ${SHARED_LIB}.${lib_major} ${SHARED_LIB}.${lib_major}.${lib_minor}