Makefile doesn't update $< variable


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Makefile doesn't update $< variable
# 1  
Old 04-01-2011
Makefile doesn't update $< variable

Hello guys,

I could use advise from more experienced guys about my Makefile. In short, the problem with my Makefile is that $< doesnt change
inside my rule.

Here is my Makefile:

Code:
# Makefile for CORE

CC = gcc.exe
AS = as.exe
AR = ar.exe

INCLUDE = \
-I../lib/tomcrypt/inc \
-I../lib/tommath/inc \
-I../lib/hal_dev/traces_gnu/inc \


CFLAGS = -DCORE_SW_VERSION='"CORE.07.01.04.01.03.01.R"' -D__HAL_DBG__ -D__MQX_FIO__ -O1 -g3 -Wall -c -fmessage-length=0  -std=c99 -fgnu89-inline -mno-volatile-cache $(INCLUDE)


OBJDIR = $(shell pwd)
SOURCEDIR = ../sources
PATTERN = ..

#this scans for .c files, and there is a lot of them
CSRC := $(shell find $(SOURCEDIR) -name '*.c')

#I have also tried with CSRC = $(shell find $(SOURCEDIR) -name '*.c'), same thing

OBJ = $(CSRC:.c=.o)
OBJS = $(patsubst ../%,$(OBJDIR)/%,$(OBJ)) 



.PHONY: all
all: $(OBJS)	
	../libprocess.sh dev traces_gnu 16.01.06.01.06.00 dummy
	$(AR) -q CORE.07.01.04.01.03.01.R.a $(OBJS)	
	../release.sh dev dev CORE.07.01.04.01.03.01.R traces_gnu CORE.07.01.04.01.03.01.R.a GNU dummy

.PHONY: csrc
csrc: $(CSRC)
	$(CC) $(CFLAGS) $(CSRC)

.PHONY: asm
asm: $(SSRC)
	$(AS) $(SSRC)

.PHONY: clean
clean:
	rm -f $(OBJS)
	
$(OBJS): $(CSRC)		
	mkdir -p $(dir $@)	
	$(CC) $(CFLAGS) $< -o $@

------------------------

Now, I have printed $< inside my $(OBJS) rule and I can see that this doesn't change, that it's always first file in the line of the strings.
Do you see where is the mistake? Thanks!

Last edited by pludi; 04-01-2011 at 11:57 AM..
# 2  
Old 04-01-2011
Try running make with the -d option and see what it tells you.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. AIX

AIX 6.1 TL8 update : bos.aso doesn't install.

Hello. An update of TL from TL7 to TL8 is ending with errors : Requisite Failures ------------------ SELECTED FILESETS: The following is a list of filesets that you asked to install. They cannot be installed until all of their requisite filesets are also installed. See subsequent... (4 Replies)
Discussion started by: stephnane
4 Replies

2. Shell Programming and Scripting

Chopping off the last directory in a Makefile variable

Hi everybody, I have a Makefile where I need to use an environment variable that I set, MYBUILDPATH. The variable can be different depending on the computer, but it always ends with /myBuildRoot/data_tables. Sometimes the data_tables directory will have a slash after it, sometimes not, depending... (2 Replies)
Discussion started by: Zel2008
2 Replies

3. UNIX for Advanced & Expert Users

Why updating atime doesn't update ctime?

Hi, ctime is the inode change time. If reading a file, its atime will be updated, which should cause inode member i_atime changed, which is an inode change. So ctime should also be updated. But if I try to ls a directory on redhat, only the directory atime gets updated, not ctime. Why? THANKS! (2 Replies)
Discussion started by: password636
2 Replies

4. Shell Programming and Scripting

how to programmatically generate makefile variable

I make to parse the release version from a text file and set the release version label into a Makefile variable. I tried: VERSION := `grep vsn s1db.app|sed -e s/*\"// -e s/\"*//` but looks like make, unlike shell, literally just take the entire `grep ...` as the variable value. Then I tried... (3 Replies)
Discussion started by: benkial
3 Replies

5. Solaris

Setting/Modifying variable specific to target in Makefile

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

Makefile: multiple target variable substitution

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

7. Shell Programming and Scripting

alternative for recursive variable in Makefile?

Hi, I want to append some compiler flags to CFLAGS_LOCAl variable defined in one makefile. I am trying to append required flags in another makefile like this: CFALGS_LOCAL = $(CFLAGS_LOCAL) +check=all but when I make, I get the error: ../../../../rules/target.rules:4: *** Recursive... (2 Replies)
Discussion started by: prits31
2 Replies

8. Shell Programming and Scripting

Is there any way to set env variable in top level Makefile and unset when done

Hello I have compilation directory structure the top level Makefile is the one that contains all the sub directories I want to set in this Makefile env variable say : setenv OPTIMIZATION_LEVEL "1" and when all the sub directories done compiling it will set this variable to different lavel... (0 Replies)
Discussion started by: umen
0 Replies

9. Shell Programming and Scripting

ksh: A part of variable A's name is inside of variable B, how to update A?

This is what I tried: vara=${varb}_count (( vara += 1 )) Thanks for help (4 Replies)
Discussion started by: pa3be
4 Replies
Login or Register to Ask a Question