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...
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...
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)
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)
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)
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)
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)
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)
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)
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)
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
LEARN ABOUT CENTOS
datadm
datadm(1M)datadm(1M)NAME
datadm - maintain DAT static registry file
SYNOPSIS
/usr/bin/datadm [-v] [-u] [-a service_provider.conf] [-r service_provider.conf]
The datadm utility maintains the DAT static registry file, dat.conf(4).
This administrative configuration program allows uDAPL service providers to add and remove themselves to the dat.conf file.
You can add or remove interface adapters that a service provider supports from a system after its installation. You can use datadm to
update the dat.conf file to reflect the current state of the system. A new set of interface adapters for all the service providers cur-
rently installed is regenerated.
The following options are supported:
-a service_provider.conf
Enumerate each device entry in the service_provider.conf(4) file into a list of interface adapters, that is, interfaces to external
network that are available to uDAPL consumers.
-r service_provider.conf
Remove the list of interface adapters that corresponds to the device entry in the service_provider.conf(4) file.
-u
Update the dat.conf to reflect the current state of the system with an up to date set of interface adapters for the service providers
that are currently listed in the DAT static registry.
-v
Display the DAT static registry file, dat.conf.
Example 1: Enumerating a Device Entry
The following example enumerates a device entry in the service_provider.conf(4) file into interface adapters in the dat.conf(4) file.
Assume that SUNW has a service provider library that supports the device tavor. It has a service_provider.conf(4) file installed in the
directory /usr/share/dat/SUNWudaplt.conf with a single entry as follows:
driver_name=tavor u1.2 nonthreadsafe default udapl_tavor.so.1 SUNW.1.0 ""
tavor is an Infiniband Host Channel Adapter with two ports. Both IB ports exist in a single IB partition, 0x8001. If an IP interface is
plumbed to each port, there are two IPoIB device instances, ibd0 and ibd1:
# ls -l /dev/ibd*
/dev/ibd0 -> /devices/pci@1/pci15b3,5a44@0/ibport@1,8001,ipib:ibd0
/dev/ibd1 -> /devices/pci@1/pci15b3,5a44@0/ibport@2,8001,ipib:ibd1
Running the command, datadm -a /usr/share/dat/SUNWudaplt.conf appends two new entries (if they do not already exists]) in the
/etc/dat/dat.conffile:
ibd0 u1.2 nonthreadsafe default udapl_tavor.so.1 SUNW.1.0 ""
"driver_name=tavor"
ibd1 u1.2 nonthreadsafe default udapl_tavor.so.1 SUNW.1.0 ""
"driver_name=tavor"
Example 2: Updating the dat.conf to Reflect the Current State of the System
A new IB partition, 0x8002 is added to the above example covering port 1 of the Host Channel Adapter. If a new IP interface is plumbed to
port 1/partition 0x8002, there is a third IPoIB device instance: ibd2.
# ls -l /dev/ibd*
/dev/ibd0 -> /devices/pci@1/pci15b3,5a44@0/ibport@1,8001,ipib:ibd0
/dev/ibd1 -> /devices/pci@1/pci15b3,5a44@0/ibport@2,8001,ipib:ibd1
/dev/ibd2 -> /devices/pci@1/pci15b3,5a44@0/ibport@1,8002,ipib:ibd2
Running datadm -u command, updates the /etc/dat/dat.conf file with a new entry added reflecting the current state of the system.
datadm -v shows that there are now three entries in the /etc/dat/dat.conf file:
ibd0 u1.2 nonthreadsafe default udapl_tavor.so.1 SUNW.1.0 ""
"driver_name=tavor"
ibd1 u1.2 nonthreadsafe default udapl_tavor.so.1 SUNW.1.0 ""
"driver_name=tavor"
ibd2 u1.2 nonthreadsafe default udapl_tavor.so.1 SUNW.1.0 ""
"driver_name=tavor"
/etc/dat/dat.conf DAT static registry file
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWudaplu |
+-----------------------------+-----------------------------+
|Interface Stability |Evolving |
+-----------------------------+-----------------------------+
pkgadd(1M), pkgrm(1M), libdat(3LIB), dat.conf(4), service_provider.conf(4). attributes(5)
18 Jun 2004 datadm(1M)