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
MASSAGEVENDOR(8)					      System Manager's Manual						  MASSAGEVENDOR(8)

NAME
massagevendor - convert the ethernet vendor codes master list to arpwatch format SYNOPSIS
massagevendor vendorfile DESCRIPTION
massagevendor is a program that converts a text file containing ethernet vendor codes into a format suitable for use by arpwatch(8) and arpsnmp(8). The input vendorfile is a master text file containing vendor codes. The output is sent to stdout. Each line of the vendorfile is expected to have a six digit hexadecimal vendor code followed by spaces followed by the name of the manufacturer. All ethernet devices have a unique identifier which includes a vendor code specifying the manufacturer of the device. In normal operation arpwatch(8) and arpsnmp(8) use the file ethercodes.dat to report this vendor code. massagevendor is used to generate the ethercodes.dat file from text files containing these vendor codes. Locations where an ethernet vendor codes master text file can be obtained are given below. FILES
/var/lib/arpwatch - default location of the ethernet vendor list ethercodes.dat - file containing the list of ethernet vendor codes SEE ALSO
arpwatch(8), arpsnmp(8) NOTES
Sources for ethernet vendor codes seen in the wild are http://map-ne.com/Ethernet/vendor.html ftp://ftp.cavebear.com/pub/Ethernet.txt http://www.cavebear.com/CaveBear/Ethernet/vendor.html Useful for comparison or completeness are the ethernet vendor codes as assigned by the IEEE which can be found at http://standards.ieee.org/regauth/oui/oui.txt BUGS
Please send bug reports to arpwatch@ee.lbl.gov. AUTHORS
Craig Leres of the Lawrence Berkeley National Laboratory Network Research Group, University of California, Berkeley, CA. The current version is available via anonymous ftp: ftp://ftp.ee.lbl.gov/arpwatch.tar.gz This manual page was contributed by Hugo Graumann. MASSAGEVENDOR(8)
All times are GMT -4. The time now is 12:41 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy