URGENT: help with Makefile
Hello all,
I have this Makefile (see the bottom of this message) that works fine in Unix, but is giving me problems in Linux. The message that I keep getting is:
/home/informix/bin/esql -O -o DbUpdate_inf -I. -I/home/informix/incl/esql -I/homes/rogerh/dbupdate/inflib/rel6.1 main.o error.o inf/DbUpdate.o inf/db_err.o inf/DbUpdate_6.o inf/create_procedure.o -L /homes/rogerh/dbupdate/inflib/rel6.1 -ldb_genlib -lm
/usr/bin/ld: cannot find -ldb_genlib
collect2: ld returned 1 exit status
make: *** [linux] Error 1
Although db_genlib.a is found in ${IDSDBLIB}/inflib/rel6.1
(IDSDBLIB is defined, verified and all that. ls -l ${IDSDBLIB}/inflib/rel6.1/db_genlib.a produces the right file with read/write permissions to all).
And it's driving me nuts.. I tried copying the library (db_genlib.a) to the current directory and typing -l./db_genlib, still didn't work. Tried all combinations (db_genlib, db_genlib.a).
What is missing here?!
Thank you so much!!!
RH
EXEC_PATH=/home/rmhaddad/work/bin
ESQLC = ${INFORMIXDIR}/bin/esql
GCC = cc
INC = -I. -I${INFORMIXDIR}/incl/esql -I${IDSDBLIB}/inflib/rel6.1
INF_DB_LIB = -L ${IDSDBLIB}/inflib/rel6.1 -ldb_genlib -lm
FLAGS = -O
.SUFFIXES:
.SUFFIXES: .ec .c .o
.ec.c:
@echo
${ESQLC} $(FLAGS) -e $(INC) $*.ec
mv `basename $*.c` $*.c
@echo
.c.o:
@echo
${GCC} $(SP_FLG) -c $(FLAGS) $(INC) $< -o $*.o
@echo
C_FILES = main.c error.c
EC_FILES = inf/DbUpdate.ec inf/db_err.ec inf/DbUpdate_6.ec inf/create_procedure.ec
INF_O_FILES = $(C_FILES:.c=.o) $(EC_FILES:.ec=.o)
INF_TMP_FILES = $(EC_FILES:.ec=.c)
H_FILES = error.h db_err.h DbUpdate_proto.h
INF_PROG = DbUpdate_inf
default: linux
linux: $(INF_TMP_FILES) $(H_FILES) $(INF_O_FILES)
$(ESQLC) $(FLAGS) $(SP_FLG) -o $(INF_PROG) $(INC) $(INF_O_FILES) $(INF_DB_LIB)
chatr +s enable +b disable $(INF_PROG) > /dev/null 2>&1
clean: clean_inf clean_ora
\rm -f *.jnk *.log core
\rm -f $(INF_PROG) $(INF_O_FILES) $(INF_TMP_FILES)
|