[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