diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2009-03-02 12:14:54 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2009-03-02 12:14:54 +0200 |
commit | 6c63b913179127e09ed7d9da8920493ccceec6ce (patch) | |
tree | 95684b51b4ab60e6468a592a53e33c2cf00027ab /makefile | |
parent | 3fd3cfc36784be43f545f2f0973e3dc58f475996 (diff) |
Add make support for creating binary distributions
Two new make targets, dist and dist-win, were added that allow one
to create a binary distribution from the current build. The dist
target creates a UNIX distribution while dist-win -- Windows.
The simplified build systems for the runtime library and examples
that were kept separately are now part of the project (the dist/
subdirectory).
Diffstat (limited to 'makefile')
-rw-r--r-- | makefile | 84 |
1 files changed, 72 insertions, 12 deletions
@@ -5,35 +5,95 @@ include $(dir $(lastword $(MAKEFILE_LIST)))build/bootstrap.make -default := $(out_base)/ -test := $(out_base)/.test -install := $(out_base)/.install -clean := $(out_base)/.clean +default := $(out_base)/ +test := $(out_base)/.test +install := $(out_base)/.install +dist := $(out_base)/.dist +dist-win := $(out_base)/.dist-win +clean := $(out_base)/.clean +cleandoc := $(out_base)/.cleandoc -.PHONY: $(default) $(test) $(install) $(clean) -$(default): $(out_base)/xsde/ \ - $(out_base)/libxsde/ \ - $(out_base)/tests/ \ - $(out_base)/examples/ +.PHONY: $(default) $(test) $(install) $(dist) $(dist-win) $(clean) +# Build. +# +$(default): $(out_base)/xsde/ \ + $(out_base)/libxsde/ \ + $(out_base)/tests/ \ + $(out_base)/examples/ \ + $(src_base)/documentation/ + +# Test. +# $(test): $(out_base)/tests/.test +# Install. +# $(install): $(out_base)/xsde/.install \ - $(out_base)/libxsde/.install \ $(out_base)/documentation/.install - $(call install-data,$(src_base)/FLOSSE,$(install_doc_dir)/xsde/FLOSSE) $(call install-data,$(src_base)/GPLv2,$(install_doc_dir)/xsde/GPLv2) $(call install-data,$(src_base)/LICENSE,$(install_doc_dir)/xsde/LICENSE) $(call install-data,$(src_base)/NEWS,$(install_doc_dir)/xsde/NEWS) $(call install-data,$(src_base)/README,$(install_doc_dir)/xsde/README) +# Dist. +# +dist-common := $(out_base)/.dist-common + +.PHONY: $(dist-common) + +$(dist-common): + $(call install-dir,$(src_base)/dist/build,$(dist_prefix)/build) + $(call install-dir,$(src_base)/dist/config,$(dist_prefix)/config) + $(call install-dir,$(src_base)/dist/etc,$(dist_prefix)/etc) + $(call install-dir,$(src_base)/dist/examples,$(dist_prefix)/examples) + $(call install-dir,$(src_base)/dist/libxsde,$(dist_prefix)/libxsde) + $(call install-data,$(src_base)/dist/makefile,$(dist_prefix)/makefile) + $(call install-data,$(src_base)/dist/nmakefile,$(dist_prefix)/nmakefile) + +$(dist): $(dist-common) \ + $(out_base)/xsde/.dist \ + $(out_base)/libxsde/.dist \ + $(out_base)/examples/.dist \ + $(src_base)/documentation/.dist + $(call install-dir,$(src_base)/dist/,$(dist_prefix)) + $(call install-data,$(src_base)/GPLv2,$(dist_prefix)/GPLv2) + $(call install-data,$(src_base)/LICENSE,$(dist_prefix)/LICENSE) + $(call install-data,$(src_base)/NEWS,$(dist_prefix)/NEWS) + $(call install-data,$(src_base)/version,$(dist_prefix)/version) + $(call install-data,$(src_base)/dist/INSTALL,$(dist_prefix)/INSTALL) + $(call install-data,$(src_base)/dist/README,$(dist_prefix)/README) + +$(dist-win): $(dist-common) \ + $(out_base)/xsde/.dist-win \ + $(out_base)/libxsde/.dist-win \ + $(out_base)/examples/.dist-win \ + $(src_base)/documentation/.dist-win + $(call install-data,$(src_base)/GPLv2,$(dist_prefix)/GPLv2.txt) + $(call message,,unix2dos $(dist_prefix)/GPLv2.txt) + $(call install-data,$(src_base)/LICENSE,$(dist_prefix)/LICENSE.txt) + $(call message,,unix2dos $(dist_prefix)/LICENSE.txt) + $(call install-data,$(src_base)/NEWS,$(dist_prefix)/NEWS.txt) + $(call message,,unix2dos $(dist_prefix)/NEWS.txt) + $(call install-data,$(src_base)/version,$(dist_prefix)/version.txt) + $(call message,,unix2dos $(dist_prefix)/version.txt) + $(call install-data,$(src_base)/dist/INSTALL,$(dist_prefix)/INSTALL.txt) + $(call message,,unix2dos $(dist_prefix)/INSTALL.txt) + $(call install-data,$(src_base)/dist/README,$(dist_prefix)/README.txt) + $(call message,,unix2dos $(dist_prefix)/README.txt) + +# Clean. +# $(clean): $(out_base)/xsde/.clean \ $(out_base)/libxsde/.clean \ - $(out_base)/tests/.clean \ + $(out_base)/tests/.clean \ $(out_base)/examples/.clean +$(cleandoc): $(src_base)/documentation/.cleandoc + + $(call include,$(bld_root)/install.make) $(call import,$(src_base)/xsde/makefile) |