Merge branch 'master' of http://repo.or.cz/r/cslatevm
[cslatevm.git] / Makefile
blobed04ca1896010f83e8a22ebab1ede3119af04476
3 slateroot=.
5 include $(slateroot)/common.mk
7 all: vm
9 vm:
10 $(SILENT) $(MAKE) -C $(VMDIR) vm
11 $(SILENT) cp -f $(VMDIR)/$(VMNAME) ./slate
13 $(DEFAULT_IMAGE): vm
14 $(SILENT) $(ECHO) "repl resetOnStartup. Image saveNamed: '$(DEFAULT_IMAGE)'." | $(VM) $(QUIETNESS) -i $(DEFAULT_KERNEL_IMAGE)
15 $(SILENT) touch $(DEFAULT_IMAGE)
17 release_image: vm $(DEFAULT_IMAGE)
19 installdirs:
20 $(SILENT) $(INSTALL) -d $(exec_prefix) $(lispdir) $(includedir) $(datadir) $(man1dir)
22 install: vm installdirs
23 $(info Installing) # TODO: Plugins and documentation missing
24 $(SILENT) $(INSTALL) $(VM) $(exec_prefix)/$(execname)
25 $(SILENT) $(INSTALL) $(INSTALL_MODE) $(slateroot)/$(DEFAULT_IMAGE) $(datadir)/$(DEFAULT_IMAGE)
26 $(SILENT) $(INSTALL) $(INSTALL_MODE) $(VMDIR)/slate.hpp $(includedir)/slate.hpp
27 $(SILENT) $(INSTALL) $(INSTALL_MODE) $(slateroot)/etc/slate-mode.el $(lispdir)/
28 $(SILENT) cat $(slateroot)/etc/slate.1 | sed -e 's/$${prefix}/$(subst /,\/,$(prefix))/g' | $(GZIP) -c > $(slateroot)/etc/slate.1.gz
29 $(SILENT) $(INSTALL) $(INSTALL_MODE) $(slateroot)/etc/slate.1.gz $(man1dir)
31 install-strip: install
32 $(SILENT) $(INSTALL) -s $(VM) $(exec_prefix)/$(execname)
34 installcheck: install
35 $(info Checking installation)
36 # TODO: A few sanity checks should be run on the installed files
37 $(SILENT) $(ECHO) "3 + 4." | $(exec_prefix)/$(execname)
39 uninstall:
40 $(info Uninstalling)
41 $(SILENT) $(RM) -f $(exec_prefix)/$(execname)
42 $(SILENT) $(RM) -f $(lispdir)/slate-mode.el
43 $(SILENT) $(RM) -f $(includedir)/slate.hpp
44 $(SILENT) $(RM) -fr $(datadir)
46 edit:
47 $(info Launching Slate in Emacs)
48 $(SILENT) $(EMACS) -Q -l $(slateroot)/etc/slate-startup.el
50 bootstrap: src/mobius/init.slate
51 $(info Bootstrapping new images)
52 $(SILENT) $(ECHO) "Image bootstrap &littleEndian: True &bitSize: $(WORD_SIZE)." | $(VM) $(QUIETNESS) -i $(DEFAULT_IMAGE) --load src/mobius/init.slate
54 backup: superclean
55 cd .. && tar '--exclude=*.git*' -jcvf cslatevm-backup.tar.bz2 cslatevm
57 plugins:
58 $(MAKE) -C src/plugins
60 superclean: clean
61 rm -f core vm vm.fast vm.prof
63 pluginsclean:
64 $(MAKE) -C src/plugins clean
65 vmclean:
66 $(MAKE) -C src/vm clean
68 clean: pluginsclean vmclean
70 tags: TAGS
72 TAGS: $(SOURCES) $(HEADERS)
73 $(SECHO) "Creating $@ file"
74 $(SILENT) $(ETAGS) $(SOURCES) $(HEADERS)
76 .PHONY: clean superclean backup plugins pluginsclean vmclean