[Omake] SVN Commit: OMake Build System (Rev. 10727)

Jason Hickey jyh at cs.caltech.edu
Sun May 13 09:41:12 PDT 2007


My example was copy/pasted incorrectly.

Basically, in this example, the dir1/OMakefile contains the following.

     %.txt:
         echo % > $@

     clean:
         rm -f *.txt

So if you run "cat <fuse-mount-point>/dir1/foo.txt", then the file is  
built, with the contents "foo".

Then, if you run "cat <fuse-mount-point>/clean", then all the *.txt  
files are removed.

Jason

On May 13, 2007, at 9:36 AM, Jason J. Hickey wrote:

> Added the "OMake filesystem".
>
> It is pretty simple.  When you ask for a file, omake tries
> to build it, and if successful, returns a symlink to the file.
>
> Phony targets work too, but the symlink is junk (I should probably
> change it so you can at least cat the file).
>
> <jyh at jaoquin 1226>ls -l /tmp/fuse/dir1
> total 0
> lrwxrwxrwx   1 root  wheel  0 Dec 31  1969 OMakefile@ -> /Users/jyh/ 
> projects/omake/git/dll-fuse/tests/dll/fuse/omakefs/dir1/OMakefile
> lrwxrwxrwx   1 root  wheel  0 Dec 31  1969 OMakefile.omc@ -> /Users/ 
> jyh/projects/omake/git/dll-fuse/tests/dll/fuse/omakefs/dir1/ 
> OMakefile.omc
> <jyh at jaoquin 1227>cat /tmp/fuse/dir1/hello.txt
> cat: /tmp/fuse/dir1/hello.txt: No such file or directory
> Exit 1
> <jyh at jaoquin 1228>ls -l /tmp/fuse/dir1
> total 0
> lrwxrwxrwx   1 root  wheel  0 Dec 31  1969 OMakefile@ -> /Users/jyh/ 
> projects/omake/git/dll-fuse/tests/dll/fuse/omakefs/dir1/OMakefile
> lrwxrwxrwx   1 root  wheel  0 Dec 31  1969 OMakefile.omc@ -> /Users/ 
> jyh/projects/omake/git/dll-fuse/tests/dll/fuse/omakefs/dir1/ 
> OMakefile.omc
> <jyh at jaoquin 1229>cat /tmp/fuse/dir1/hello.txt
> hello
> <jyh at jaoquin 1230>ls -l /tmp/fuse/dir1
> total 0
> lrwxrwxrwx   1 root  wheel  0 Dec 31  1969 OMakefile@ -> /Users/jyh/ 
> projects/omake/git/dll-fuse/tests/dll/fuse/omakefs/dir1/OMakefile
> lrwxrwxrwx   1 root  wheel  0 Dec 31  1969 OMakefile.omc@ -> /Users/ 
> jyh/projects/omake/git/dll-fuse/tests/dll/fuse/omakefs/dir1/ 
> OMakefile.omc
> lrwxrwxrwx   1 root  wheel  0 Dec 31  1969 hello.txt@ -> /Users/jyh/ 
> projects/omake/git/dll-fuse/tests/dll/fuse/omakefs/dir1/hello.txt
> <jyh at jaoquin 1231>ls /tmp/fuse/clean
> /tmp/fuse/clean: No such file or directory.
> <jyh at jaoquin 1232>ls -l /tmp/fuse/dir1
> total 0
> lrwxrwxrwx   1 root  wheel  0 Dec 31  1969 OMakefile@ -> /Users/jyh/ 
> projects/omake/git/dll-fuse/tests/dll/fuse/omakefs/dir1/OMakefile
> lrwxrwxrwx   1 root  wheel  0 Dec 31  1969 OMakefile.omc@ -> /Users/ 
> jyh/projects/omake/git/dll-fuse/tests/dll/fuse/omakefs/dir1/ 
> OMakefile.omc
>
> ----
> Changes:
>     +100 -20	omake-jumbo-branches/all-features/src/build/ 
> omake_build.ml
>     +5 -3	omake-jumbo-branches/all-features/src/build/omake_build.mli
>     +28 -0	omake-jumbo-branches/all-features/src/builtin/ 
> omake_builtin_target.ml
>     +6 -0	omake-jumbo-branches/all-features/src/env/omake_env.ml
>     +1 -0	omake-jumbo-branches/all-features/src/env/omake_env.mli
>     +6 -0	omake-jumbo-branches/all-features/src/ir/omake_options.ml
>     +2 -0	omake-jumbo-branches/all-features/src/ir/omake_options.mli
>     +1 -0	omake-jumbo-branches/all-features/src/main/omake_shell.ml
>     +100 -20	omake-jumbo-branches/auto/src/build/omake_build.ml
>     +5 -3	omake-jumbo-branches/auto/src/build/omake_build.mli
>     +28 -0	omake-jumbo-branches/auto/src/builtin/ 
> omake_builtin_target.ml
>     +6 -0	omake-jumbo-branches/auto/src/env/omake_env.ml
>     +1 -0	omake-jumbo-branches/auto/src/env/omake_env.mli
>     +6 -0	omake-jumbo-branches/auto/src/ir/omake_options.ml
>     +2 -0	omake-jumbo-branches/auto/src/ir/omake_options.mli
>     +1 -0	omake-jumbo-branches/auto/src/main/omake_shell.ml
>     +100 -20	omake-jumbo-branches/const/src/build/omake_build.ml
>     +5 -3	omake-jumbo-branches/const/src/build/omake_build.mli
>     +28 -0	omake-jumbo-branches/const/src/builtin/ 
> omake_builtin_target.ml
>     +6 -0	omake-jumbo-branches/const/src/env/omake_env.ml
>     +1 -0	omake-jumbo-branches/const/src/env/omake_env.mli
>     +6 -0	omake-jumbo-branches/const/src/ir/omake_options.ml
>     +2 -0	omake-jumbo-branches/const/src/ir/omake_options.mli
>     +1 -0	omake-jumbo-branches/const/src/main/omake_shell.ml
>     +100 -20	omake-jumbo-branches/dll/src/build/omake_build.ml
>     +5 -3	omake-jumbo-branches/dll/src/build/omake_build.mli
>     +28 -0	omake-jumbo-branches/dll/src/builtin/ 
> omake_builtin_target.ml
>     +6 -0	omake-jumbo-branches/dll/src/env/omake_env.ml
>     +1 -0	omake-jumbo-branches/dll/src/env/omake_env.mli
>     +6 -0	omake-jumbo-branches/dll/src/ir/omake_options.ml
>     +2 -0	omake-jumbo-branches/dll/src/ir/omake_options.mli
>     +1 -0	omake-jumbo-branches/dll/src/main/omake_shell.ml
>     +12 -0	omake-jumbo-branches/dll-fuse/lib/Pervasives.om
>     +1 -1	omake-jumbo-branches/dll-fuse/lib/parse/C/Dll.om
>     +100 -20	omake-jumbo-branches/dll-fuse/src/build/omake_build.ml
>     +5 -3	omake-jumbo-branches/dll-fuse/src/build/omake_build.mli
>     +52 -0	omake-jumbo-branches/dll-fuse/src/builtin/ 
> omake_builtin_file.ml
>     +47 -0	omake-jumbo-branches/dll-fuse/src/builtin/ 
> omake_builtin_target.ml
>     +13 -0	omake-jumbo-branches/dll-fuse/src/env/omake_env.ml
>     +3 -1	omake-jumbo-branches/dll-fuse/src/env/omake_env.mli
>     +6 -0	omake-jumbo-branches/dll-fuse/src/ir/omake_options.ml
>     +2 -0	omake-jumbo-branches/dll-fuse/src/ir/omake_options.mli
>     +12 -12	omake-jumbo-branches/dll-fuse/src/ir/omake_symbol.ml
>     +1 -0	omake-jumbo-branches/dll-fuse/src/main/omake_shell.ml
>     +257 -113	omake-jumbo-branches/dll-fuse/tests/dll/fuse/ 
> fuse_post.om
>     +18 -0	omake-jumbo-branches/dll-fuse/tests/dll/fuse/fuse_types.h
>     Added	omake-jumbo-branches/dll-fuse/tests/dll/fuse/omakefs/
>     Added	omake-jumbo-branches/dll-fuse/tests/dll/fuse/omakefs/ 
> OMakefile
>     Added	omake-jumbo-branches/dll-fuse/tests/dll/fuse/omakefs/ 
> OMakeroot
>     Added	omake-jumbo-branches/dll-fuse/tests/dll/fuse/omakefs/dir1/
>     Added	omake-jumbo-branches/dll-fuse/tests/dll/fuse/omakefs/dir1/ 
> OMakefile
>     Added	omake-jumbo-branches/dll-fuse/tests/dll/fuse/omakefs/omakefs
>     +19 -2	omake-jumbo-branches/dll-fuse/tests/dll/fuse/values.export
>     +100 -20	omake-jumbo-branches/dll-syntax/src/build/omake_build.ml
>     +5 -3	omake-jumbo-branches/dll-syntax/src/build/omake_build.mli
>     +28 -0	omake-jumbo-branches/dll-syntax/src/builtin/ 
> omake_builtin_target.ml
>     +6 -0	omake-jumbo-branches/dll-syntax/src/env/omake_env.ml
>     +1 -0	omake-jumbo-branches/dll-syntax/src/env/omake_env.mli
>     +6 -0	omake-jumbo-branches/dll-syntax/src/ir/omake_options.ml
>     +2 -0	omake-jumbo-branches/dll-syntax/src/ir/omake_options.mli
>     +1 -0	omake-jumbo-branches/dll-syntax/src/main/omake_shell.ml
>     +100 -20	omake-jumbo-branches/dll2/src/build/omake_build.ml
>     +5 -3	omake-jumbo-branches/dll2/src/build/omake_build.mli
>     +28 -0	omake-jumbo-branches/dll2/src/builtin/ 
> omake_builtin_target.ml
>     +6 -0	omake-jumbo-branches/dll2/src/env/omake_env.ml
>     +1 -0	omake-jumbo-branches/dll2/src/env/omake_env.mli
>     +6 -0	omake-jumbo-branches/dll2/src/ir/omake_options.ml
>     +2 -0	omake-jumbo-branches/dll2/src/ir/omake_options.mli
>     +1 -0	omake-jumbo-branches/dll2/src/main/omake_shell.ml
>     +100 -20	omake-jumbo-branches/keyword/src/build/omake_build.ml
>     +5 -3	omake-jumbo-branches/keyword/src/build/omake_build.mli
>     +28 -0	omake-jumbo-branches/keyword/src/builtin/ 
> omake_builtin_target.ml
>     +6 -0	omake-jumbo-branches/keyword/src/env/omake_env.ml
>     +1 -0	omake-jumbo-branches/keyword/src/env/omake_env.mli
>     +6 -0	omake-jumbo-branches/keyword/src/ir/omake_options.ml
>     +2 -0	omake-jumbo-branches/keyword/src/ir/omake_options.mli
>     +3 -3	omake-jumbo-branches/keyword/src/ir/omake_state.ml
>     +3 -3	omake-jumbo-branches/keyword/src/ir/omake_state.mli
>     +1 -0	omake-jumbo-branches/keyword/src/main/omake_shell.ml
>     +100 -20	omake-jumbo-branches/parse/src/build/omake_build.ml
>     +5 -3	omake-jumbo-branches/parse/src/build/omake_build.mli
>     +28 -0	omake-jumbo-branches/parse/src/builtin/ 
> omake_builtin_target.ml
>     +6 -0	omake-jumbo-branches/parse/src/env/omake_env.ml
>     +1 -0	omake-jumbo-branches/parse/src/env/omake_env.mli
>     +6 -0	omake-jumbo-branches/parse/src/ir/omake_options.ml
>     +2 -0	omake-jumbo-branches/parse/src/ir/omake_options.mli
>     +1 -0	omake-jumbo-branches/parse/src/main/omake_shell.ml
>     +100 -20	omake-jumbo-branches/syntax/src/build/omake_build.ml
>     +5 -3	omake-jumbo-branches/syntax/src/build/omake_build.mli
>     +28 -0	omake-jumbo-branches/syntax/src/builtin/ 
> omake_builtin_target.ml
>     +6 -0	omake-jumbo-branches/syntax/src/env/omake_env.ml
>     +1 -0	omake-jumbo-branches/syntax/src/env/omake_env.mli
>     +6 -0	omake-jumbo-branches/syntax/src/ir/omake_options.ml
>     +2 -0	omake-jumbo-branches/syntax/src/ir/omake_options.mli
>     +3 -3	omake-jumbo-branches/syntax/src/ir/omake_state.ml
>     +3 -3	omake-jumbo-branches/syntax/src/ir/omake_state.mli
>     +1 -0	omake-jumbo-branches/syntax/src/main/omake_shell.ml
>     +100 -20	omake-jumbo-branches/var2/src/build/omake_build.ml
>     +5 -3	omake-jumbo-branches/var2/src/build/omake_build.mli
>     +28 -0	omake-jumbo-branches/var2/src/builtin/ 
> omake_builtin_target.ml
>     +6 -0	omake-jumbo-branches/var2/src/env/omake_env.ml
>     +1 -0	omake-jumbo-branches/var2/src/env/omake_env.mli
>     +6 -0	omake-jumbo-branches/var2/src/ir/omake_options.ml
>     +2 -0	omake-jumbo-branches/var2/src/ir/omake_options.mli
>     +3 -3	omake-jumbo-branches/var2/src/ir/omake_state.ml
>     +3 -3	omake-jumbo-branches/var2/src/ir/omake_state.mli
>     +1 -0	omake-jumbo-branches/var2/src/main/omake_shell.ml
>     +100 -20	omake-jumbo-branches/var3/src/build/omake_build.ml
>     +5 -3	omake-jumbo-branches/var3/src/build/omake_build.mli
>     +28 -0	omake-jumbo-branches/var3/src/builtin/ 
> omake_builtin_target.ml
>     +6 -0	omake-jumbo-branches/var3/src/env/omake_env.ml
>     +1 -0	omake-jumbo-branches/var3/src/env/omake_env.mli
>     +6 -0	omake-jumbo-branches/var3/src/ir/omake_options.ml
>     +2 -0	omake-jumbo-branches/var3/src/ir/omake_options.mli
>     +1 -0	omake-jumbo-branches/var3/src/main/omake_shell.ml
>
> A hyperlinked version of this commit is available at
> http://svn.metaprl.org/commitlogs/omake/2007-05.html#07/05/13.09:36:03
>
> _______________________________________________
> OMake-CVS mailing list
> OMake-CVS at metaprl.org
> https://lists.metaprl.org/mailman/listinfo/omake-cvs

--
Jason Hickey                  http://www.cs.caltech.edu/~jyh
Caltech Computer Science      Tel: 626-395-6568 FAX: 626-792-4257





More information about the OMake-Devel mailing list