LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   linux make file (https://www.linuxquestions.org/questions/linux-newbie-8/linux-make-file-845808/)

gulHK 11-22-2010 09:24 AM

linux make file
 
Hello everyone.

I am new to creating make files. I have been able to create simple makefiles for those applications which do not involve database but am unable to create for the ones that do involve database. When I run that make file, it just deletes the .exe file of that application from the folder. Could anyone please help me with this.

That's how my make file looks


Code:

INCLUDES = -I/usr/include/mysql++ -I/usr/include/mysql
LIBRARY = -L/usr/lib64/ -L/usr/lib64/mysql -lmysqlpp
SOURCE = /usr/local/babbage/bin/BreachCheck

VPATH = $(INCLUDES) $(LIBRARY) $(SOURCE)

OBJS = breachtester.o breachwriter.o cherrypicker.o datecl.o formatter.o frontrunner.o liffeconnect.o \
    liffe_runbreach.o logger.o positionmonitor.o reportwriter.o

CC = g++

DEBUG = -g

CFLAGS = -Wall -c $(DEBUG)

LFLAGS = -Wall $(DEBUG)

liffe_runbreach-64bit : $(OBJS)
    $(CC) $(LFLAGS) $(OBJS) -o liffe_runbreach-64bit

breachtester.o : breachtester.h breachtester.cpp breachwriter.h logger.h formatter.h \
        datecl.h liffeconnect.h
        $(CC) $(INCLUDES) $(CFLAGS) breachtester.cpp

breachwriter.o : breachwriter.h breachwriter.cpp breachtester.h liffeconnect.h
    $(CC) $(INCLUDES) $(CFLAGS) breachwriter.cpp

cherrypicker.o : cherrypicker.h cherrypicker.cpp reportwriter.h
    $(CC) $(INCLUDES) $(CFLAGS) cherrypicker.cpp

datecl.o : datecl.h datecl.cpp
    $(CC) $(CFLAGS) datecl.cpp

formatter.o : formatter.h formatter.cpp
    $(CC) $(CFLAGS) formatter.cpp

frontrunner.o : frontrunner.h frontrunner.cpp liffeconnect.h reportwriter.h
    $(CC) $(INCLUDES) $(CFLAGS) frontrunner.cpp

liffeconnect.o : liffeconnect.h liffeconnect.cpp logger.h formatter.h breachtester.h
    $(CC) $(INCLUDES) $(CFLAGS) liffeconnect.cpp

logger.o : logger.h logger.cpp
    $(CC) $(CFLAGS) logger.cpp

positionmonitor.o : positionmonitor.h positionmonitor.cpp logger.h formatter.h
    $(CC) $(INCLUDES) $(CFLAGS) positionmonitor.cpp

reportwriter.o : reportwriter.h reportwriter.cpp frontrunner.h liffeconnect.h
    $(CC) $(INCLUDES) $(CFLAGS) reportwriter.cpp

liffe_runbreach.o : liffe_runbreach.cpp datecl.h logger.h breachtester.h liffeconnect.h formatter.h \
            breachwriter.h cherrypicker.h frontrunner.h reportwriter.h
    $(CC) $(INCLUDES) $(CFLAGS) liffe_runbreach.cpp

clean:
    \rm *.o *~ liffe_runbreach-64bit

tar:
    tar cfv liffe_runbreach-64bit.tar breachwriter.h breachwriter.cpp cherrypicker.h \
        cherrypicker.cpp logger.cpp logger.h breachtester.cpp breachtester.h datecl.h datecl.cpp \
        frontrunner.h frontrunner.cpp positionmonitor.h positionmonitor.cpp liffe_runbreach.cpp


gulHK 11-22-2010 10:46 AM

it gives me the following error message

Code:

collect2: ld returned 1 exit status
make: *** [liffe_runbreach-64bit] Error 1


rylan76 11-23-2010 01:45 AM

Take a look at the GNU Autotools (just google it).

This is a very comprehensive set of tools that writes makefiles FOR you based on rules you provide - much easier and faster to use and very powerful.

knudfl 11-23-2010 02:39 AM

'make' and autotools
http://www.gnu.org/software/autoconf/
http://www.gnu.org/software/automake/
http://sourceware.org/autobook/

http://www.freesoftwaremagazine.com/..._gnu_autotools
http://www.freesoftwaremagazine.com/...with_autotools
http://www.freesoftwaremagazine.com/..._with_autoconf

http://www.wlug.org.nz/MakefileHowto
http://www.eng.hawaii.edu/Tutor/Make/
..

gulHK 11-23-2010 03:17 AM

Thanks knudfl and rylan76 :). Let me go through these links


All times are GMT -5. The time now is 01:10 AM.