Fixed allSelectorsSent because a simpler implementation was overriding the original.
[cslatevm.git] / Makefile
blob4e2584bcd43b0d0dc8ec769019963fb872ce53e5
1 slateroot=.
3 include $(slateroot)/common.mk
5 all: vm
7 vm:
8 $(SILENT) $(MAKE) -C $(VMDIR) vm
9 $(SILENT) cp -f $(VMDIR)/$(VMNAME) ./slate
11 slate.%.image: kernel.new.%.image
12 $(SILENT) $(ECHO) "repl resetOnStartup. Load DefaultSourceDir := Directory newNamed: '$(slatesrcdir)'. Image saveNamed: '$@'." | $(VM) $(QUIETNESS) -i $<
13 $(SILENT) touch $@
15 $(DEFAULT_IMAGE): vm
16 $(SILENT) $(ECHO) "repl resetOnStartup. Load DefaultSourceDir := Directory newNamed: '$(slatesrcdir)'. Image saveNamed: '$(DEFAULT_IMAGE)'." | $(VM) $(QUIETNESS) -i $(DEFAULT_KERNEL_IMAGE)
17 $(SILENT) touch $(DEFAULT_IMAGE)
19 release_image: vm $(DEFAULT_IMAGE)
21 latest_release_image:
22 $(SILENT) $(WGET) $(LATEST_SLATE_IMAGE_URL)
23 -bunzip2 -q -k $(LATEST_SLATE_IMAGE_RELEASE_NAME).bz2
24 $(INSTALL) $(LATEST_SLATE_IMAGE_RELEASE_NAME) $(DEFAULT_IMAGE)
26 installdirs:
27 $(SILENT) $(INSTALL) -d $(exec_prefix) $(lispdir) $(includedir) $(datadir) $(man1dir)
28 $(SILENT) $(INSTALL) -d $(slatesrcdir) $(slatesrcdir)/core $(slatesrcdir)/lib $(slatesrcdir)/syntax $(slatesrcdir)/mobius $(slatesrcdir)/demo
30 install: vm installdirs
31 $(info Installing) # TODO: Plugins and documentation missing
32 $(SILENT) $(INSTALL) $(VM) $(exec_prefix)/$(execname)
33 $(SILENT) $(INSTALL) $(INSTALL_MODE) $(slateroot)/$(DEFAULT_IMAGE) $(datadir)/$(DEFAULT_IMAGE)
34 $(SILENT) $(INSTALL) $(INSTALL_MODE) $(VMDIR)/slate.hpp $(includedir)/slate.hpp
35 $(SILENT) $(INSTALL) $(INSTALL_MODE) $(slateroot)/etc/slate-mode.el $(lispdir)/
36 $(SILENT) mkdir -p $(vimdir)
37 $(SILENT) $(INSTALL) $(INSTALL_MODE) $(slateroot)/etc/slate.vim $(vimdir)/
38 $(SILENT) cat $(slateroot)/etc/slate.1 | sed -e 's/$${prefix}/$(subst /,\/,$(prefix))/g' | $(GZIP) -c > $(slateroot)/etc/slate.1.gz
39 $(SILENT) $(INSTALL) $(INSTALL_MODE) $(slateroot)/etc/slate.1.gz $(man1dir)
40 $(SILENT) $(INSTALL) $(INSTALL_MODE) $(slateroot)/src/core/*.slate $(slatesrcdir)/core
41 $(SILENT) $(INSTALL) $(INSTALL_MODE) $(slateroot)/src/lib/*.slate $(slatesrcdir)/lib
42 $(SILENT) $(INSTALL) $(INSTALL_MODE) $(slateroot)/src/syntax/*.slate $(slatesrcdir)/syntax
43 $(SILENT) $(INSTALL) $(INSTALL_MODE) $(slateroot)/src/mobius/*.slate $(slatesrcdir)/mobius
44 $(SILENT) $(INSTALL) $(INSTALL_MODE) $(slateroot)/src/demo/*.slate $(slatesrcdir)/demo
46 install-strip: install
47 $(SILENT) $(INSTALL) -s $(VM) $(exec_prefix)/$(execname)
49 installcheck:
50 $(info Checking installation)
51 # TODO: A few sanity checks should be run on the installed files
52 $(SILENT) $(exec_prefix)/$(execname) --eval "3 + 4. quit."
54 uninstall:
55 $(info Uninstalling)
56 $(SILENT) $(RM) -f $(exec_prefix)/$(execname)
57 $(SILENT) $(RM) -f $(lispdir)/slate-mode.el
58 $(SILENT) $(RM) -f $(includedir)/slate.hpp
59 $(SILENT) $(RM) -fr $(datadir)
61 edit:
62 $(info Launching Slate in Emacs)
63 $(SILENT) $(EMACS) -Q -l $(slateroot)/etc/slate-startup.el $(src)
65 slate-completions:
66 $(info Creating completion file for evaluation)
67 $(SILENT) $(VM) $(QUIETNESS) -i $(DEFAULT_IMAGE) --eval "(File newNamed: '~/.slate_completions' &mode: File CreateWrite) writer sessionDo: [| :x | Symbols keySet do: [| :name | x ; name ; '\n']]. quit."
69 readline-support: slate-completions
71 i18n-support:
72 $(SILENT) $(VM) $(QUIETNESS) -i $(DEFAULT_IMAGE) --load src/i18n/init.slate --eval "Unicode buildTable" --eval "Image save. quit."
74 bootstrap: src/mobius/init.slate
75 $(info Bootstrapping new images)
76 $(SILENT) $(VM) $(QUIETNESS) -i $(DEFAULT_IMAGE) --load src/mobius/init.slate --eval "Bootstrap ImageDefinition bootstrap &bootstrapDirectory: '$(BOOTSTRAP_DIR)' &littleEndian: $(LITTLE_ENDIAN_SLATE) &wordSize: $(WORD_SIZE)." --eval "quit"
78 backup: superclean
79 tar '--exclude=*.git*' -jcvf ../slate-backup.tar.bz2 .
81 plugins:
82 $(MAKE) -C src/plugins
84 superclean: clean
85 rm -f core vm vm.fast vm.prof
87 pluginsclean:
88 $(MAKE) -C src/plugins clean
89 vmclean:
90 $(MAKE) -C src/vm clean
92 clean: pluginsclean vmclean
94 tags: TAGS
96 TAGS: $(SOURCES) $(HEADERS)
97 $(SECHO) "Creating $@ file"
98 $(SILENT) $(ETAGS) $(SOURCES) $(HEADERS)
100 .PHONY: clean superclean backup plugins pluginsclean vmclean