10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Just began to learn on Shell Script. I got an exercise from my friend. I know how to make this happen in C, but I'm not familiar with Shell Script. Hope I can get some help from all of you.
I want to write a bash script to comment code blocks in a bash source file. What I mean comment is '#', I... (1 Reply)
Discussion started by: HiFuture0801
1 Replies
2. Shell Programming and Scripting
I am looking for HTML code that browse text file and grep with database file then retrieve result
txtfileuploaded contain
112233
115599
113366
shell code
grep -F -f txtfileuploaded /data/database.txt
result
112233 Mar 41$
115599 Nov 44$
113366 Oct 33$
attached... (2 Replies)
Discussion started by: phpshell
2 Replies
3. Shell Programming and Scripting
Hello,
I have a Makefile that converts wrl (vrml) files to html files...
how can I use a shell script in that makefile which works on all html files after converting?
The Shell Script have to find and replace a String in every createt html file.
sorry I'm a Newbie, so I hope someone can... (0 Replies)
Discussion started by: Dan_78
0 Replies
4. Shell Programming and Scripting
I want to run a target defined in a shell script. The shell script name is 'ua.sc' and the target in it is 'N' i.e. (ua N) throught a makefile. How can i do it so that i can run it with a make target. (3 Replies)
Discussion started by: vineet.dhingra
3 Replies
5. Shell Programming and Scripting
I'm writing a VERY simple shell script. I need to call a makefile in a subdirectory. What's the command I need to use?
./dir/make and ./dir/makefile doesn't work.
Thanks in advance (1 Reply)
Discussion started by: yamahabob
1 Replies
6. Shell Programming and Scripting
Hi,
I have a bash script which calls a few "make". I would like to know whether the makefile failed with any errors. How do I do that in the script?
Thanks,
S (2 Replies)
Discussion started by: suryaemlinux
2 Replies
7. Shell Programming and Scripting
hey, within a shell script file I know how to turn on tracing using "-x"
#!/bin/bash -x
now I have a complicated makefile which contains lots of `command`, and i would like to trace these `command`, where shall i put the option "-x"?
thanks! (1 Reply)
Discussion started by: patiobarbecue
1 Replies
8. Shell Programming and Scripting
Is there a way to write a makefile for all the source files in a directory with a shell script? (2 Replies)
Discussion started by: zzhan
2 Replies
9. Shell Programming and Scripting
Hi,
Can we execute a shell script by makefile.
I mean we will write a shell script in a make file and it will be executed when we compile the C++ program using make file. (2 Replies)
Discussion started by: surjyap
2 Replies
10. Shell Programming and Scripting
Hi
I am new to shell scripting and makefile. I want a command's output in
makefile to process further, can anyone plz suggest me a way ?
I want ls -d *.dsm output in a variable and want to process it in makefile itself.
It's urgent
Thanks In advance (0 Replies)
Discussion started by: madhu12345
0 Replies
MMAKE(1) User Commands MMAKE(1)
NAME
mmake - generate a Java Makefile
SYNOPSIS
mmake [ -d | -v ]
DESCRIPTION
This program will generate a Makefile for Java source files. Use the -d option to accept all defaults.
After running mmake, you will obtain a Makefile in the directory from where you started the program. The Makefile will handle java files in
the current directory and in any sub-directories.
Use the generated Makefile with mmake as follows:
To compile Java files just type make. It's also possible to run make with one of the following targets: doc, clean, help, jar, srcjar, bun-
dle, install, uninstall, tags and depend Where 'make doc' runs javadoc on the source files, it will only work for files in a package. The
command 'make clean' removes class files and other temporary files. The command 'make jar' creates a jar file with all class files (and
other files of your choice, see the JAR_OBJS variable in the Makefile). The command 'make srcjar' creates a jar file with all java files.
The command 'make bundle' creates a Mac OS X Application Bundle with all the jar file. The command 'make install' will install a jar file,
app bundle, class files and any shell wrappers you have made. (A shell script must have the extension .sh to be installed). Use 'make unin-
stall' to remove installed files. The command 'make help', shows a help text with available targets. The command 'make tags' will generate
a tag file for Emacs. And finally the command 'make depend' creates a dependency graph for the class files. (The dependency graph will be
put in a file called makefile.dep, which is included in the Makefile)
You don't have to run mmake each time you add a new java file to your project. You can add as many new java files as you like, the Makefile
will find them. This is the case as long as you don't add a new package. In that case, you must either run mmake again or update the PACK-
AGE variable in the Makefile. This is because the Makefile uses this variable to find directories with java files.
The program mmake is able to create a dependency graph for your java files. To do this, it needs the jikes compiler from IBM. Get jikes
from http://www.ibm.com/developerworks/oss/jikes/.You would probably be more content with jikes anyhow, since it is much faster than javac.
To create a dependencies graph, do a make clean before running make depend.
A NOTE ON INSTALLATION
The Makefile created with mmake will do a fair job installing the different files that makes up your system. It uses the following Makefile
variables when it conducts the install routine:
o PREFIX
o CLASS_DIR
o JAR_DIR
o BUNDLE_DIR
o DOC_DIR
o SCRIPT_DIR
PREFIX
This variable will be prepended to all other directory variables above. It is used for grouping the other directories into one root direc-
tory. If you don't want that, you may simply set the variable to an empty string in the Makefile. If the variable is empty you could still
use it on the command line when you run make, for instance for a one-shoot installation like: make PREFIX=/local/myproject/ install
CLASS_DIR
This variable denotes the top directory from where all class files will be installed. Its default value is classes, which I believe is a
good value. Note: If you don't want to install any class files (because you are, for example, only going to use a jar file), set this vari-
able to an empty string and no class files will be installed.
Resource files will also be installed below this directory if such files are present in a package structure. This is useful if you are
using e.g. ResourceBundles to Localize your application and have your property files in it's own directory in the package structure.
JAR_DIR
This variable tells the Makefile where to install the jar file. The default value is lib, which is also a good default value.
BUNDLE_DIR
This variable tells the Makefile where to install the app bundle. The default value is lib, which is also a good default value.
DOC_DIR
When you run javadoc, all the html files will be put into this directory. Its default value is doc/api-docs. You should probably keep that
name, but then again, you may change it as you like.
SCRIPT_DIR
The Makefile uses this variable to install any shell wrapper-scripts that you have created. If you write an application, it is always nice
for the user that you provide a wrapper script to start the application. Its default value is bin. (The Makefile will only install shell-
scripts that has the extension .sh. The mmake script will tell the Makefile where to look for shell-scripts)
INSTALLATION SUMMARY
If you keep the default values you will get an installation tree that looks like this:
`-- PREFIX
|-- bin
|-- classes
| `-- package <--- Example of a sub-directory
| |-- sub-package1
| |-- sub-package2
| `-- sub-package3
|-- doc
| `-- api-docs
`-- lib
USING THE C-PREPROCESSOR
This is a excellent tool for managing projects with several different versions. The idea behind using the C preprocessor with Java is to
better manage different versions more easily. This is done by using CPP conditional statements in the source files. I would strongly advise
you not to use CPP to redefine the Java language itself.
To use the C preprocessor together with Java, you can change the name of the source files that you want to preprocess -- from <file-
name>.java to <filename>.xjava. The Makefile has a rule to build .class files from .xjava files.
It is not necesarry to change every file from .java to .xjava. The Makefile will work well and consistently in an environment of both .java
and .xjava files. (E.g. 'make clean' will only remove .java files that were created from a .xjava file. Other java files will, of course,
not be removed.)
You can now use cpp Conditionals in Your Java-code, for example, as follows:
#ifdef JAVA1_1
[code1]
#else
[code2]
#endif
The JAVA1_1 label in the above example is tested against the VERSION variable in the Makefile. That is, if the VERSION variable is JAVA1_1,
then [code1] would be compiled and [code2] left out. Likewise, if VERSION is something else than JAVA1_1, then [code2] would be compiled
and [code1] left out of the resulting .class file.
NOTES
mmake will give you one Makefile for managing your Java files. Although it's easy to setup and use mmake in a recursive makefile context,
you don't want to do that. To see why, read the excellent article: Recursive Make Considered Harmful at
http://www.canb.auug.org.au/~millerp/rmch/recu-make-cons-harm.html
DEPENDENCIES
mmake will need the following:
o Perl 5.x
o Gnu make
o Gnu xargs (recommended)
AUTHOR
Jan-Henrik Haukeland <hauk@tildeslash.com>
April 2. 2004 www.tildeslash.com MMAKE(1)