You need to think about what the chain of dependencies really are:
The executable Code1 depends on the object files Code1.o and Tools.o
The object file Code1.o depends on the source files Code1.cpp and Tools.hh and the makefile
The object file Tools.o depends on the source files Tools.cpp and Tools.hh and the makefile.
So a simple makefile could be something like
This uses
- a pattern rule to say that any .o depends on the corresponding .cpp and the header and the makefile
- rules to say that Code1 depends on Code1.o and Tools.o
- implicit rules to do the compilation and linking (make knows it needs to use g++ to compile, and so on)
If you want to specify the compilation or linking rules yourself, then you have to specify the complete command. You had
where your rule is just "g++" with no arguments. That's like typing just g++ on the command line, hence the error message, You need to have the same thing as you would type on the command line, e.g.
or if you want to be fancy and more general with automatic variables
Hi,
I have a makefile which looks like this
ProcessA :
commands
touch pro1
ProcessB : pro1
commands
touch pro2
ProcessC: pro3
commands
and after some runs, i wish only pro3 to run and I check that "pro1" and "pro2" are there in the directory, but still, if i give make... (3 Replies)
Hi
I tried many times and I dont know what the he... is going on.
Problem:
I hava in /home/marcin/c1_menu/
this file:
menu_item_data.c
I want to compile this file.
so I tried something like this
CC=gcc
LIBS=-lmenu -lncurses
RM=rm
BINS=menu_item_data
%: %.o
${CC} -o $@... (1 Reply)
Hi, I am very new with makefile topics , maybe this is a very symple question...
I have this code wich compile very good ( I get it from the net), I will call it code A.
I have to add it with a program that is all ready in use, (code B) that also compile good. When I put together it doesnt... (7 Replies)
Hi all
am new to solaris ............
i installed amanda client pkg that time am getting lots of dependency problem..........
is there any Yum server like things in solaris
Regards '
prAn (8 Replies)
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)
Hi,
I want to install net-snmp-devel package but i have following dependecy problem.
It's very odd, i don't get it. One of packages is depended on the other one, the other one is depended on the previous one as well. :S :S
Could you help me please?
Here are the steps:
# ls -l
total... (4 Replies)
Hi,
Here is my makefile http://pastie.org/1104332. I am trying to compile different .c files and .s files (assembly files) from different sub directories into E:/em35x/build/mfg-sample-app-cortexm3-iar-em357-em3xx-dev0680/ then the linker should link all the .o files from the build directory... (1 Reply)
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)
I had created a Makefile for my project. my project file hierarchy is like this:
1. a source folder with main.c and Makefile in it
2. and a top level Makefile
here is the Makefile in src folder
all: program
program: main.c
gcc -o program main.c
clean:
rm programand here is top... (3 Replies)
I create figures using Gnuplot, but I use terminal epslatex, which produces a .tex file as output. I then latex this .tex file which creates are .dvi file, which I then convert to .ps and finally to an .eps file. Anyway here's what I'm doing in steps
gnuplot plot.gplt (this writes out... (2 Replies)
Discussion started by: lost.identity
2 Replies
LEARN ABOUT XFREE86
ccmakedep
ccmakedep(1) General Commands Manual ccmakedep(1)NAME
ccmakedep - create dependencies in makefiles using a C compiler
SYNOPSIS
ccmakedep [ cpp-flags ] [ -wwidth ] [ -smagic-string ] [ -fmakefile ] [ -oobject-suffix ] [ -v ] [ -a ] [ -cccompiler ] [ -- options -- ]
sourcefile ...
DESCRIPTION
The ccmakedep program calls a C compiler to preprocess each sourcefile, and uses the output to construct makefile rules describing their
dependencies. These rules instruct make(1) on which object files must be recompiled when a dependency has changed.
By default, ccmakedep places its output in the file named makefile if it exists, otherwise Makefile. An alternate makefile may be speci-
fied with the -f option. It first searches the makefile for a line beginning with
# DO NOT DELETE
or one provided with the -s option, as a delimiter for the dependency output. If it finds it, it will delete everything following this up
to the end of the makefile and put the output after this line. If it doesn't find it, the program will append the string to the makefile
and place the output after that.
EXAMPLE
Normally, ccmakedep will be used in a makefile target so that typing 'make depend' will bring the dependencies up to date for the makefile.
For example,
SRCS = file1.c file2.c ...
CFLAGS = -O -DHACK -I../foobar -xyz
depend:
ccmakedep -- $(CFLAGS) -- $(SRCS)
OPTIONS
The program will ignore any option that it does not understand, so you may use the same arguments that you would for cc(1), including -D
and -U options to define and undefine symbols and -I to set the include path.
-a Append the dependencies to the file instead of replacing existing dependencies.
-cccompiler
Use this compiler to generate dependencies.
-fmakefile
Filename. This allows you to specify an alternate makefile in which ccmakedep can place its output. Specifying "-" as the file
name (that is, -f-) sends the output to standard output instead of modifying an existing file.
-sstring
Starting string delimiter. This option permits you to specify a different string for ccmakedep to look for in the makefile. The
default is "# DO NOT DELETE".
-v Be verbose: display the C compiler command before running it.
-- options --
If ccmakedep encounters a double hyphen (--) in the argument list, then any unrecognized arguments following it will be silently
ignored. A second double hyphen terminates this special treatment. In this way, ccmakedep can be made to safely ignore esoteric
compiler arguments that might normally be found in a CFLAGS make macro (see the EXAMPLE section above). -D, -I, and -U options
appearing between the pair of double hyphens are still processed normally.
SEE ALSO cc(1), make(1), makedepend(1), ccmakedep(1).
AUTHOR
ccmakedep was written by the X Consortium.
Colin Watson wrote this manual page, originally for the Debian Project, based partly on the manual page for makedepend(1).
XFree86 Version 4.7.0 ccmakedep(1)