Problem With Makefile


 
Thread Tools Search this Thread
Homework and Emergencies Emergency UNIX and Linux Support Problem With Makefile
# 1  
Old 03-09-2011
Problem With Makefile

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
Code:
all: program

program: main.c
    gcc -o program main.c

clean:
    rm program

and here is top level Makefile:
Code:
all:
    cd src && $(MAKE) all

clean:
    cd src && $(MAKE) clean

program:
    cd src && $(MAKE) program

It is working fine but when i change top level Majefile to this:
Code:
all:
    cd src && $(MAKE) all

clean:
    cd src
    $(MAKE) clean

program:
    cd src && $(MAKE) program

and run for example make clean, the output is this:
Code:
cd src
make clean
make[1]: Entering directory `<Project Directory>'
cd src
make clean

it shows this in a loop and show lots of this without stopping.
# 2  
Old 03-09-2011
are you absolutely certain that in the 2nd version the spaces before $(MAKE) are a tab character (they need to be, strange things will happen if it is spaces rather than a tab)
# 3  
Old 03-09-2011
This is because the lines below a rule aren't all one big shell script. Each line is executed individually, and seperately: a cd one line above has no effect on the line below it. (And any line that errors out is where make stops.) Don't count on any changes except files carrying through from one statement to the next.

By the way: Try make -C src all instead of cd src && make all.
This User Gave Thanks to Corona688 For This Post:
# 4  
Old 03-09-2011
God bless you Corona688
I didn't consider this one:
Each line is executed individually, and seperately
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

Problem running a makefile

I have written this makefile and am getting an error saying make nfd gfortran -O -Wall -fbacktrace -fno-align-commons -c -o fd.o fd.f fd.f:49: Error: Can't open included file 'fd.par' make: *** Error 1 The directory structure is as follows . ├── library │ ├── fd │ │ ├──... (3 Replies)
Discussion started by: kristinu
3 Replies

2. Programming

Problem creating a makefile

hello, I'm trying to create a makefile to run multiple c files. I am able to run one c file only with the code I have when I tried to run 2 or more c files I'm not able. here is my code # $Source: /home/hectormasencio/make/Makefile,v $ # $Date: 2012/11/27 11:35:30 $ CC= gcc OBJS= temp.o... (3 Replies)
Discussion started by: Hector M.
3 Replies

3. Programming

Noob makefile problem

Im trying to build a makefile for the first time in many years and Im coming to a screaching halt on something that should be child's play; just compiling two files. Here is an excerpt of the make file. (using GMAKE on a TI compiler) CCHP = <<compiler>> PROJ_DIR = . APP_DIR ... (2 Replies)
Discussion started by: DrNismo
2 Replies

4. Programming

Problem with Makefile

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)
Discussion started by: blade2008
1 Replies

5. Programming

please help me with this big makefile problem

I need to create an executable with these two makefiles(they both have libaries i need(qt and ruby)) i have extconf.rb gui.ui gui_include.h main.cpp ScaleIM_client.rb ui_gui.h i want to combine them all into one executable please!... (2 Replies)
Discussion started by: gjgfuj
2 Replies

6. UNIX for Advanced & Expert Users

Makefile problem - How to run module load in a Makefile

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

7. Programming

Simple Makefile Problem (with a dependency)

Hi all, I have 4 '.cpp' files and 1 header files: Tools.cpp Code1.cpp Code2.cpp Code3.cpp and Tools.hh Now all Code1.cpp, Code2.cpp, Code3.cpp use functions stored in Tools.cpp. Currently, what I do to compile all of them is using this simple shell script: (1 Reply)
Discussion started by: monkfan
1 Replies

8. Programming

Problem with makefile

My make file is CFLAGS = -Wall -g LDFLAGS = -lm CC = g++ all: server client rc4.o: rc4.cpp rc4.h ${CC} ${CFLAGS} -c rc4.cpp server.o: server.cpp rc4.h ${CC} ${CFLAGS} -c .cpp client.o: client.cpp rc4.h ${CC} ${CFLAGS} -c client.cpp server: server.o... (2 Replies)
Discussion started by: neerajgoyal12
2 Replies

9. Programming

Problem with a Makefile

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)
Discussion started by: pmoren
7 Replies

10. UNIX for Advanced & Expert Users

problem with Makefile

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)
Discussion started by: sskb
3 Replies
Login or Register to Ask a Question