01-11-2009
Makefile debug target
Hello,
I'm having a problem with a makefile script i'm trying to write.
I want to compile a C++ program in two possible ways: "make"
(default target, main) and "make debug". When i supply the debug
target, exactly the same as main should be built, but then with the
DEBUG flag (-g -D DEBUG).
This sounds really logical, but i can't find the answer anywhere
in the forums.
This is the script:
CXX=g++
CXXFLAGS=-ansi -std=c++98 -Wall -W
DEBUG=-g -D DEBUG
OBJS=main.o NgramCreator.o
main: $(OBJS)
$(CXX) $(OBJS) -o $@
$(OBJS): NgramCreator.h
$(CXX) $(CXXFLAGS) $(DEBUG) -c $*.cpp
clean:
rm -f *~ *.o main *.gch
I don't have a clue how to do this, can anybody help me?
Thanks
Steven
10 More Discussions You Might Find Interesting
1. Solaris
Hi,
I am getting the following error while building on Solaris 64 , while I am trying to build.
Error Snippet :-
----------------------
Makefile:57: *** multiple target patterns. Stop.
make: Leaving directory `/work1/patch/vds6053sun64o/vobs/jvi'
make: *** Error 2
make: Leaving directory... (0 Replies)
Discussion started by: nileshborate
0 Replies
2. HP-UX
I receive an error while installing Oracle 9i:
Error in invoking target install of makefile
/opt/oracle/product/9.2.0/sqlplus/lib/ins_sqlplus.mk
Furthermore:
$ whoami
oracle
$ echo $ORACLE_HOME
/opt/oracle/product/9.2.0
$ pwd
/opt/oracle/product/9.2.0/sqlplus/lib
$ ll
total... (5 Replies)
Discussion started by: chris2005
5 Replies
3. UNIX for Advanced & Expert Users
Hi, I'm trying to run the module load command in a Makefile and i'm getting the following error:
make: module: command not found
Why is this? Is there any way to run this command in a Makefile?
NOTE: command - module load msjava/sunjdk/1.5.0 works fine outside of the Makefile (2 Replies)
Discussion started by: hernandinho
2 Replies
4. Programming
Greetings!
Basically, I would like to properly handle this with gnu make:
alltools: my_tool mysecond_tool mythird_tool etc_tool
%_tool: dir1/%_tool.vf dir2/%_tool/subdir2/%_tool.ver
<tab>@echo done
%.vf:
<tab>RUN_VF $*
%.ver:
<tab>RUN_VER $*
So, if I were to do something like:... (0 Replies)
Discussion started by: Harlinator
0 Replies
5. Solaris
Hi,
I have a small piece of Makefile script which throw's error on Sun Sparc machine, but works fine with Sun Optron, Linux, AIX machines.
FOO=Naveen
test1:FOO=Dhilip
test1:
@echo FOO is ${FOO}
test2:
@echo Me is ${FOO}
Output on Sun Sparc -
ukhml-v890new-~/test: make test1... (5 Replies)
Discussion started by: nsriram
5 Replies
6. Homework & Coursework Questions
Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!
1. The problem statement, all variables and given/known data:
Basically, the prompt is make a makefile with various sub makefiles in their respective subdirectories. All code... (1 Reply)
Discussion started by: Tatl
1 Replies
7. Shell Programming and Scripting
Goal: I'm trying to create a PHONY target inside my Makefile so that when I run the command "make backup",
It will move all the files that end in "~" into the specified backup folder.
Here is my code currently, and I'll explain the problem after:
.PHONY: backup
backup:
@mkdir -p... (2 Replies)
Discussion started by: Xploit
2 Replies
8. Programming
I am writing a Makefile for Cobol on Linux.My sample Makefile looks like below.
I do not want to Hardcode Program names in Makefile.Is there any way we can mention directories in Target and Prerequisites instead of File names sothat Makefile Pickup all the files in mentioned path as below.... (8 Replies)
Discussion started by: kiranksb
8 Replies
9. HP-UX
Hi,
I wanted to configure new iscsi port on HPUX system, i added the target port address and configured it, once done, went to array side and searched for that host iqn number , but was nt able to find the same, came to host, then when i ran "iscsiutil -pVS" command it gave me below result
... (0 Replies)
Discussion started by: Vinay Kumar D
0 Replies
10. Programming
I am trying to create a makefile to build a program and am getting the following error:
make -f tsimplex.mk
make: *** No rule to make target `/main/tsimplex_main.cpp', needed by `tsimplex_main.o'. Stop.
OPSYS = $(shell uname -s )
TARGET = tsimplex
ROOTDIR = ../../..
GTSDIR =... (1 Reply)
Discussion started by: kristinu
1 Replies
LEARN ABOUT FREEBSD
lorder
LORDER(1) BSD General Commands Manual LORDER(1)
NAME
lorder -- list dependencies for object files
SYNOPSIS
lorder file ...
DESCRIPTION
The lorder utility uses nm(1) to determine interdependencies in the list of object files and library archives specified on the command line.
The lorder utility outputs a list of file names where the first file contains a symbol which is defined by the second file.
The output is normally used with tsort(1) when a library is created to determine the optimum ordering of the object modules so that all ref-
erences may be resolved in a single pass of the loader.
When linking static binaries, lorder and tsort(1) can be used to properly order library archives automatically.
ENVIRONMENT
NM Path to the nm(1) binary, defaults to ``nm''.
EXAMPLES
ar cr library.a `lorder ${OBJS} | tsort`
cc -o foo ${OBJS} `lorder ${STATIC_LIBS} | tsort`
SEE ALSO
ar(1), ld(1), nm(1), ranlib(1), tsort(1)
HISTORY
A lorder utility appeared in Version 7 AT&T UNIX.
BSD
October 25, 2006 BSD