Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C Programming > A Problem with makefile.

Reply
Thread Tools

A Problem with makefile.

 
 
prasadjoshi124@gmail.com
Guest
Posts: n/a
 
      11-29-2006
Hi All,

I am trying to write a make file with the following specifications.

[Prasad@rsharma dir_make]$ pwd
/home/Prasad/programs/c/lsp/dir_make

[Prasad@rsharma dir_make]$ ls
add include main.c Makefile sub

Now, here main.c uses a function present in add/add.c and sub/sub.c.

I have written this makefile

[Prasad@rsharma dir_make]$ cat Makefile
SUB_DIRS := add sub
all:
@for d in $(SUB_DIRS) ; do \
( \
cd $$d ; \
make ; \
) \
done
OBJ_FILES=$($(foreach dir,$(SUB_DIRS),$(wildcard $(dir)/*.o)))
echo $(OBJ_FILES)
gcc main.c -o main -I $$PWD/include $(OBJ_FILES)

clean:
OBJ_FILES=$($(foreach dir,$(SUB_DIRS),$(wildcard $(dir)/*.o)))
echo $(OBJ_FILES)
rm $(OBJ_FILES)

But, it does not seem to work properly. I am getting following error
==>

[Prasad@rsharma dir_make]$ make
make[1]: Entering directory `/home/Prasad/programs/c/lsp/dir_make/add'
make[1]: `add.o' is up to date.
make[1]: Leaving directory `/home/Prasad/programs/c/lsp/dir_make/add'
make[1]: Entering directory `/home/Prasad/programs/c/lsp/dir_make/sub'
make[1]: `sub.o' is up to date.
make[1]: Leaving directory `/home/Prasad/programs/c/lsp/dir_make/sub'
OBJ_FILES=
echo

gcc main.c -o main -I $PWD/include
/tmp/ccmR5Xy4.o: In function `main':main.c.text+0x21): undefined
reference to `add'
:main.c.text+0x45): undefined reference to `sub'
collect2: ld returned 1 exit status
make: *** [all] Error 1

It seems that OBJ_FILES variable is not getting set properly.

Please help.

Thanks and regards,
Prasad.

 
Reply With Quote
 
 
 
 
santosh
Guest
Posts: n/a
 
      11-29-2006
http://www.velocityreviews.com/forums/(E-Mail Removed) wrote:
> Hi All,
>
> I am trying to write a make file with the following specifications.

<snip>
> It seems that OBJ_FILES variable is not getting set properly.
>
> Please help.


Ask in comp.unix.programmer or comp.os.ms-windows.programmer, (if that
is your development platform). But, really, the GNU docs for make are
quite excellent. Read them through.

 
Reply With Quote
 
 
 
 
Walter Roberson
Guest
Posts: n/a
 
      11-29-2006
In article <(E-Mail Removed). com>,
<(E-Mail Removed)> wrote:

>I am trying to write a make file with the following specifications.


makefiles are artifacts of your particular development environment,
and are not part of C itself. You need to ask in a newsgroup that
supports your development environment.


>[Prasad@rsharma dir_make]$ cat Makefile


> OBJ_FILES=$($(foreach dir,$(SUB_DIRS),$(wildcard $(dir)/*.o)))
> echo $(OBJ_FILES)
> gcc main.c -o main -I $$PWD/include $(OBJ_FILES)


I've never seen a foreach in a makefile before, nor any mention
of 'wildcard'. That, together with the gcc line, suggests to me that
you are *not* using make, but instead are using gmake . If so,
then one of the gnu.* newsgroups would be appropriate.
--
Okay, buzzwords only. Two syllables, tops. -- Laurie Anderson
 
Reply With Quote
 
CBFalconer
Guest
Posts: n/a
 
      11-29-2006
(E-Mail Removed) wrote:
>
> I am trying to write a make file with the following specifications.
>

.... snip ...
>
> Please help.


Why should we, when you posted a completely off-topic query. Try a
newsgroup where make and makefiles are topical, such as
comp.unix.programmer, or something with gcc or gnu in its name.
Next time find out what is and is not topical on a newsgroup before
posting.

--
Chuck F (cbfalconer at maineline dot net)
Available for consulting/temporary embedded and systems.
<http://cbfalconer.home.att.net>


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Problem problem problem :( Need Help Mike ASP General 2 05-11-2004 08:36 AM



Advertisments