Re: [QUESTIONS] pginterface compiling - Mailing list pgsql-hackers

From Oliver Elphick
Subject Re: [QUESTIONS] pginterface compiling
Date
Msg-id 199804231420.PAA10137@linda.lfix.co.uk
Whole thread Raw
In response to pginterface compiling  ("Jose' Soares Da Silva" <sferac@proxy.bazzanese.com>)
List pgsql-hackers
"Jose' Soares Da Silva" wrote:
  >Hi, all
  >
  >I have this message when I try to compile pginterface...
  >Please help...
  >
  >$ make all
  >cc -c -g -Wall -I/usr/local/pgsql/include  pginterface.c halt.c
  >cc -g -Wall -I/usr/local/pgsql/include   -L/usr/local/pgsql/lib -lpq     -o
      >.c
  >/usr/lib/crt1.o: In function `_start':
  >/usr/lib/crt1.o(.text+0x5a): undefined reference to `main'
  >make: *** [.c] Error 1

Well, you don't seem to have specified any files to link.  The second
cc command says to create an executable called `.c' but doesn't specify
and files to compile or link, except the libpq library.  So naturally, cc
cannot find a main() routine; that is what it is complaining about.

Ah, I see it's not your fault but the Makefile's...

I guess you are using GNU make, as I am.  This works for me:

=======================================================
#
# Makefile for GNU make
#
#
PGINTERFACE = pginterface.o halt.o
TARGET = pginsert pgwordcount pgnulltest
CFLAGS = -g -Wall -I/usr/local/pgsql/include -I.
LDFLAGS = -L/usr/local/pgsql/lib -lpq

all : $(TARGET)

$(TARGET): %:   %.o ${PGINTERFACE}
        $(CC) -o $@ $(CFLAGS) $@.c ${PGINTERFACE} $(LDFLAGS)

clean:
        rm -f *.o $(TARGET) log core

install:
        make clean
        make CFLAGS=-O
        install -s -o bin -g bin $(TARGET) /usr/local/bin
=======================================================



--
Oliver Elphick                                Oliver.Elphick@lfix.co.uk
Isle of Wight                              http://www.lfix.co.uk/oliver

PGP key from public servers; key ID 32B8FAA1

                 ========================================
    Come to me, all you who labour and are heavily laden, and I will
    give you rest. Take my yoke upon you, and learn from me; for I am
    meek and lowly in heart, and you shall find rest for your souls.
    For my yoke is easy and my burden is light.    (Matthew 11: 28-30)



pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] multi-byte aware char_length() etc.
Next
From: Bruce Momjian
Date:
Subject: Re: [PORTS] BSDI-3.1