ESQL INFORMIX precompilation step in makefile : error -33042 cannot open input file

I have to modify some very old source code. It comes with a very long Makefile and I'm not very familiar with Makefiles in general. It also relies on a precompiling step by an old Informix server.

I need to modify the Makefile so that the source code inside my_directory will compile by including the sources in common_src.

Here is the structure :

- common_src
- my_directory
   - Makefile

The .o files should be generated inside my_directory.

I have the following :


ESQL=   esql

    -I$(INFORMIXDIR)/incl/esql \

OFILES= rwfich.o
HFILES= sqlheader.h


gcd:        bin/gcd

bin/gcd:    $(LIBGC) gcd.o $(LIBOUTILS)
            @echo -n "Link:     bin/gcd "
            @$(CC) $(CFLAGS) gcd.o $(LIBGC) \
            $(SQLLIBS) $(LNKOPT) -obin/gcd_lnk > gcdlnk.err 2>&1
            @touch bin/gcd
            @mv -f bin/gcd bin/oldgcd
            @mv -f bin/gcd_lnk bin/gcd
            @echo "Ok."

$(LIBGC):   $(RWFOBJ) 
    @echo -n "$(LIBGC)     :    "
    @rm -f $(LIBGC)
    @echo -n "Construction ...  "
    @ar rc $(LIBGC) 
    @echo "Ok."

            @echo -n "$<     :  Precompilation  "
            @$(ESQL) $(ESQLFLAGS) $< > $*.err 2>&1
            @echo -n "Compilation  "
            @$(CC) $(CFLAGS) -c $*.c >> $*.err 2>&1
            @rm $*.c
            @echo "Ok."

When I run the Makefile, and it gets to $(RWFOBJ), the .err file output by the Informix recompilation step for says : esqlc: "/home/my_directory/", line 7: Error -33042: Cannot open input file 'sqlheader.h'. 1 error(s) found.

Does anyone have an idea what's wrong with this ? I have even tried hardcoding the .h file with its complete path:

$(RWFOBJ):  $(OBJDIR)/%.o : $(COMMONSRC)/ $(HOME)/common_src/sqlheader.h

but no dice : I get the same error.

Thanks a lot to anyone who could point me in the right direction.

Read more here:

Content Attribution

This content was originally published by SofiaMNC at Recent Questions - Stack Overflow, and is syndicated here via their RSS feed. You can read the original post over there.

%d bloggers like this: