Sponsored Content
Top Forums UNIX for Advanced & Expert Users makefile head-scratcher: multiple targets in one go Post 302494723 by treczoks on Tuesday 8th of February 2011 07:36:23 AM
Old 02-08-2011
Power

Quote:
Originally Posted by drl
My understanding is that you want to run a command if any of the targets are out of date, but only once, not once for each target.
Yep, entirely correct.

Indeed, an interesting idea to touch the config file and turn the dependencies around.

BUT:
a) It will only work when updating an existing set of files, not with creating them initially ("No rule to make target 'a.txt' needed by 'abcd.conf'")
b) It will not produce correct results in my case, as the same config file is used by several different scripts to generate targets (sometimes only one, sometimes 256 in one go)

I found a solution. Not nice, but I have to generate the makefile anyway...
Code:
# "myscript conf.dat" creates/updates a.txt, b.txt c.txt, and d.txt
all : a.txt b.txt c.txt d.txt
a.txt : conf.dat
  myscript conf.dat

b.txt : conf.dat
  myscript conf.dat

c.txt : conf.dat
  myscript conf.dat

d.txt : conf.dat
  myscript conf.dat

Looks like GNU make re-evaluates all targets after each run of a rule. Lets see how it copes with all ~8500 rules of the project...Smilie
 

10 More Discussions You Might Find Interesting

1. Solaris

Makefile:57: *** multiple target patterns. Stop.

Hi, I am getting the following error while building on Solaris 64 , while I am trying to build. Error Snippet :- ---------------------- Makefile:57: *** multiple target patterns. Stop. make: Leaving directory `/work1/patch/vds6053sun64o/vobs/jvi' make: *** Error 2 make: Leaving directory... (0 Replies)
Discussion started by: nileshborate
0 Replies

2. UNIX for Dummies Questions & Answers

makefile Q about targets $@

Hi All I need to parse the target something like: ifeq '$@' 'first' echo 1 $@ endif ifeq '$@' 'second' echo 2 $@ endif The thing is to be able compare the target string to any string and then do the commands Thanks a lot ziv (0 Replies)
Discussion started by: zivsegal
0 Replies

3. UNIX for Dummies Questions & Answers

epstopdf for multiple files using makefile

Greetings! I'm fairly new to the unix world and I hope someone here can help me with my question. I'm using a Makefile to run a few programs and the final output is several .eps files. However I need them to be .pdf files, so I want to use epstopdf to convert the files. Since I'm already... (6 Replies)
Discussion started by: wwoord
6 Replies

4. Shell Programming and Scripting

Multiple script lines into a Makefile

Hi All I am creating a makefile and I want to do a clean section. In the clean section I would like to check if the file exists and then delete it. I always have an error 'unexpected end of file' What's wrong in it? Thanks msntn firstCpp: first.cpp g++ -o first first.cpp clean: ... (1 Reply)
Discussion started by: manustone
1 Replies

5. Shell Programming and Scripting

head / tail combination returns multiple rows

Hi, As part of our project, we need to load historical data for a year before our system is live. We have the data feed files that we need to load. However, I need to make sure that the file structure (number of fields separated by a comma) on the field is same for all the files of the same... (1 Reply)
Discussion started by: raj.jha
1 Replies

6. Programming

Makefile for building multiple programs

I have the following part of a makefile and want to simplify it using rules rather than having to code the same two blocks when I need ti build another program. An having difficulty doing it all: 1dvel2 1dvel 2dvel ... (8 Replies)
Discussion started by: kristinu
8 Replies

7. Shell Programming and Scripting

Help: Makefile with multiple executables

I am trying to create executables for the following files Currently, I am making 9 different directories for for each. I would like to make 1 directory but everytime I try it does not work. CROSS_COMPILE?= # CROSS_COMPILE used to = arm-arago-linux-gnueabi... (1 Reply)
Discussion started by: bpetersen
1 Replies

8. Shell Programming and Scripting

Makefile with multiple executables

CROSS_COMPILE?= LIBDIR_APP_LOADER?=../../../../app_loader/lib INCDIR_APP_LOADER?=../../../../app_loader/include BINDIR?=../../bin CFLAGS+= -Wall -I$(INCDIR_APP_LOADER) -D__DEBUG -O2 -mtune=cortex-a8 -march=armv7-a -std=gnu99 LDFLAGS+=-L$(LIBDIR_APP_LOADER) -lprussdrv -lpthread OBJDIR=obj... (1 Reply)
Discussion started by: bpetersen
1 Replies

9. Shell Programming and Scripting

Paste multiple files, but only the sorted head -50

Hello, I want to merge multiple files (under hundreds folders) side by side. File name are the same but folder are different. like folder1/same_name.txt folder2/same_name.txt folder3/same_name.txt ......Normally it can be done as paste /different_path*/same_name.txt > merged_file.txtbut... (2 Replies)
Discussion started by: yifangt
2 Replies

10. Shell Programming and Scripting

Question in creating targets in makefile

Hi, I have a question related to makefile. I'm new to makefile and I'm in the process of writing a makefile for my RBT build. I have multiple source files and when I compile them I will get multiple object files (one object file for each source file). I'm having problem in creating a target for... (1 Reply)
Discussion started by: Anand Venkatesa
1 Replies
FINGER.CONF(5)						      BSD File Formats Manual						    FINGER.CONF(5)

NAME
finger.conf -- finger(1) alias configuration file DESCRIPTION
The optional finger.conf file is used to provide aliases that can be fingered by local and network users. This may be useful where a user's login name is not the same as their preferred mail address, or for providing virtual login names than can be fingered. Lines beginning with ``#'' are comments. Other lines must consist of an alias name and a target name separated by a colon. A target name should be either a user, a forward reference to another alias or the path of a world readable file. Where an alias points to a file, the contents of that file will be displayed when the alias is fingered. FILES
/etc/finger.conf finger(1) alias definition data base EXAMPLES
# /etc/finger.conf alias definition file # # Format alias:(user|alias) # # Individual aliases # markk:mkn john.smith:dev329 john:dev329 sue:/etc/finger/sue.txt # # Network status message # status:/usr/local/etc/status.txt # # Administrative redirects # root:admin postmaster:admin abuse:admin # # For the time being, 'sod' is sysadmin. # admin:sod SEE ALSO
finger(1) HISTORY
Support for the finger.conf file was submitted by Mark Knight <markk@knigma.org> and first appeared in FreeBSD 4.2. BSD
August 16, 2000 BSD
All times are GMT -4. The time now is 05:25 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy