Noob makefile problem


 
Thread Tools Search this Thread
Top Forums Programming Noob makefile problem
# 1  
Old 02-17-2011
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)

Code:
CCHP        = <<compiler>>

PROJ_DIR     = .
APP_DIR        = ../
OBJ_DIR        = ./Debug

INC_DIR        = -i"$(APP_DIR)common/inc"

CCFLAGS     = <<compiler options>>

###########################################################
# Common files
###########################################################

$(OBJ_DIR)/file1.obj : ../common/src/file1.c
    @echo compiling 
    $(CCHP) $(CCFLAGS) ../common/src/file1.c    

$(OBJ_DIR)/file2.obj : ../common/src/file2.c
    @echo compiling 
    $(CCHP) $(CCFLAGS) ../common/src/file2.c

When I call this makefile (make -fmake.mak) it only compiles the file listed first. I can move file2 first then it will compile only that one and ignore the second. Both files do compile as I can enter an IF/ELSE around the two and pass the appropriate variable to the make. I also ran the make in debug -d and it also only reports information on the first file listed here. What gives? Some stupid syntatical error? Idiot user error?
# 2  
Old 02-17-2011
Try this?

Code:
CCHP        = <<compiler>>

PROJ_DIR     = .
APP_DIR        = ../
OBJ_DIR        = ./Debug

INC_DIR        = -i"$(APP_DIR)common/inc"

CCFLAGS     = <<compiler options>>

###########################################################
# Common files
###########################################################

All:      $(OBJ_DIR)/file1.obj $(OBJ_DIR)/file2.obj

$(OBJ_DIR)/file1.obj : ../common/src/file1.c
    @echo compiling 
    $(CCHP) $(CCFLAGS) ../common/src/file1.c    

$(OBJ_DIR)/file2.obj : ../common/src/file2.c
    @echo compiling 
    $(CCHP) $(CCFLAGS) ../common/src/file2.c

I couldn't insert a tab in there so you will have to modify the line when you try it.

Andrew
# 3  
Old 02-18-2011
Thanks for the reply. Turns out it was a user related problem. I was not aware that the first rule was the overall target of the make, so once the first object file was compiled it had no reason to do the other file. I did something similar to what you proposed and it worked fine.
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. Homework & Coursework Questions

Noob minix problem

please help!! The question that has been asked is to use /tmp directory in minix to get to know the root password or get the root privilege . onr thing that I have done is : % cp /bin/sh /tmp % chmod 4777 /tmp/sh now what next must i do to get the root privelege? or maybe some other method ... (1 Reply)
Discussion started by: amanmamgain
1 Replies

4. Emergency UNIX and Linux Support

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 all: program program: main.c gcc -o program main.c clean: rm programand here is top... (3 Replies)
Discussion started by: majid.merkava
3 Replies

5. 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

6. 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

7. 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

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