05-17-2017
I think you mix up two different things: shell scripts and makefiles.
Makefiles (more precisely: the
make-utility) work rule-based, so you don't need explicit conditionals - everything is a conditional anyway.
make works like that: you define so-called "dependencies" between files: i.e. you have three object files where each depends on a single source file. Whenever one of the source file changes the corresponding object file has to be generated anew. This is done by executing the code in the rule-definition. For every dependency you can create a rule, but usually you create rules for groups of dependencies: whenever ".c" (the source) changes, the corresponding ".obj" (the object) has to be generated and the rule for this is to call the compiler to compile exactly the one source-file. For this there are "make-variables" like "$@", "$<", etc., which are filled with the name(s) of the files involved in the rule. See the man-page of
make for details.
You can also create cascades of these rules: you base
.obj-files on
.c-files and you base executables on the
.obj-files. So, when a source file changes, the corresponding object is generated and in turn this leads to the executable being generated too (by calling the linker to link all the objects to the executable.
You might want to read
this little introduction i once wrote.
I hope this helps.
bakunin
This User Gave Thanks to bakunin For This Post:
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
hello,
i'm looking to split up text into a list of words but can't figure it out, any help would be great.
thanks
steven (2 Replies)
Discussion started by: stevox
2 Replies
2. Shell Programming and Scripting
Hi,
I have to identify sentences from this text.
If i split these statements by this way:
@sentence= split(/\.\W*/,$text);
I will get these following things also in the output along with proper sentences.
Biol Reprod.
2002 Mar;66(3):785-95.
Egydio de Carvalho C, Tanaka H,... (2 Replies)
Discussion started by: vanitham
2 Replies
3. Shell Programming and Scripting
Hi,
I have a file and that file contains the following sentences.
Here we show that a virus-encoded transcription factor, viral mRNA, cellular RNA-binding protein heterodimer G3BP/Caprin-1 (p137), translation initiation factors eIF4E and eIF4G, and ribosomal proteins are concentrated in the... (4 Replies)
Discussion started by: vanitham
4 Replies
4. UNIX for Dummies Questions & Answers
Hi,
I have few sentences here.
$a1="Division of Hematology-Oncology, and Stem cell transplantation, Schneider Childrens Hospital, Albert Einstein College of Medicine, New Hyde Park, New York. ";
$a2="Department of Cell Biology and Anatomy, College of Medicine, National Cheng Kung... (3 Replies)
Discussion started by: vanitham
3 Replies
5. Programming
I want to be able to access an environment variable to control how a program is compiled.
So:
export MY_VERSN=9
Then ideally, within my C++ code, I would have
#if MY_VERSN = 9
iret = FRED9()
#else
iret = FRED()
#endif
The way I thought I could do it is that in the script that... (2 Replies)
Discussion started by: BrighterLater
2 Replies
6. Shell Programming and Scripting
Hi,
I would like to set a variable using ls, but I need to be able to list two possibilities simultaneously, i.e., I'd like to do this all on one line. These are the two possible directories, but keep in mind only *one* will be present at any given time:
drwxrwxrwx 4 qtv qtv 16384 Nov 9... (5 Replies)
Discussion started by: goodbenito
5 Replies
7. Shell Programming and Scripting
Hi,
I'm trying to compare the value in a field to the value in a variable using awk. This works:
awk '$7 == "101"'but this is what I want (and it doesn't work):
value=101
awk '$7 == "$value"'
Any help or insight on this would be great. Thanks in advance. (1 Reply)
Discussion started by: goodbenito
1 Replies
8. UNIX for Dummies Questions & Answers
Hi guys
Need your help how do I extract sentences with only a word
i.e.
today is hot
hot
very
humid
humid2
Sample output
hot
very (0 Replies)
Discussion started by: jamestan
0 Replies
9. Shell Programming and Scripting
Hi guys
Need your help how do I extract sentences with only a word
i.e.
today is hot
hot
very
humid
humid2
Sample output
hot (6 Replies)
Discussion started by: jamestan
6 Replies
10. Shell Programming and Scripting
I am trying to print out sentences that meets a regular expression in awk (I’m open to using other tools, too).
I got the regular expression I want to use, "(\+ \{4\})" from user ripat in a grep forum. Unfortunately with grep I couldn't print only the sentence.
While searching for awk... (8 Replies)
Discussion started by: danbroz
8 Replies
LEARN ABOUT DEBIAN
jocamldep
JOCAMLDEP(1) General Commands Manual JOCAMLDEP(1)
NAME
jocamldep - Dependency generator for JoCaml
SYNOPSIS
jocamldep [ -I lib-dir ] filename ...
DESCRIPTION
The jocamldep(1) command scans a set of Objective Caml source files (.ml and .mli files) for references to external compilation units, and
outputs dependency lines in a format suitable for the make(1) utility. This ensures that make will compile the source files in the correct
order, and recompile those files that need to when a source file is modified.
The typical usage is:
jocamldep options *.mli *.ml > .depend
where .depend is the file that should contain the dependencies.
Dependencies are generated both for compiling with the bytecode compiler jocamlc(1) and with the native-code compiler jocamlopt(1).
OPTIONS
The following command-line option is recognized by jocamldep(1).
-I directory
Add the given directory to the list of directories searched for source files. If a source file foo.ml mentions an external compila-
tion unit Bar, a dependency on that unit's interface bar.cmi is generated only if the source for bar is found in the current direc-
tory or in one of the directories specified with -I. Otherwise, Bar is assumed to be a module form the standard library, and no
dependencies are generated. For programs that span multiple directories, it is recommended to pass jocamldep(1) the same -I options
that are passed to the compiler.
-native
Generate dependencies for a pure native-code program (no bytecode version). When an implementation file (.ml file) has no explicit
interface file (.mli file), jocamldep(1) generates dependencies on the bytecode compiled file (.cmo file) to reflect interface
changes. This can cause unnecessary bytecode recompilations for programs that are compiled to native-code only. The flag -native
causes dependencies on native compiled files (.cmx) to be generated instead of on .cmo files. (This flag makes no difference if all
source files have explicit .mli interface files.)
SEE ALSO
jocamlc(1), jocamlopt(1).
The Objective Caml user's manual, chapter "Dependency generator".
JOCAMLDEP(1)