Commit 11d8794d authored by Oskar Skog's avatar Oskar Skog

Pre 0.4.7: Some fixes to Makefile.static and INSTALL

parent 7af275d1
......@@ -4,6 +4,13 @@
- Use "$(MAKE)" instead of "make".
- Made print-destinations print to stderr.
* configure.py: Remade find_MODULES.
* INSTALL: Many small corrections.
* Makefile.static:
- Made recursive make wrapper for install-dirs
- `make install` depends on the internal targets.
(Avoids unnecessary recursions.)
- $(MAIN_STAGE) now depends on Makefile.vars too.
- $(ENGINECFG_STAGE) now depends on Makefile.vars.
2016-12-16 Oskar Skog <oskar.skog.finland@gmail.com>
0.4.6
......
......@@ -10,6 +10,7 @@ DEPENDENCIES
* less(1) for the passwords is recommended.
* A unix-like OS is recommended for systems with multiple CPUs or
multicore CPUs
* PyPy or another faster Python implementation can be used.
NOTICE: Normal installation will only work on unix-like operating
systems.
......@@ -22,6 +23,8 @@ DEPENDENCIES
INSTALLATION
============
NOTICE: This section only applies to unix-like systems.
In the directory extracted from the tarball, run:
./configure
make
......@@ -32,8 +35,6 @@ http://www.makeuseof.com/tag/compile-install-tar-gz-tar-bz2-files-ubuntu-linux/
If you still don't understand, ask the nearest Linux user to help you
and create a wiki page about the topic on my Github repo.
You can't skip the second stage (`make`).
Use "./configure -v" to make the whole installation process verbose.
NOTICE:
......@@ -63,18 +64,17 @@ http://www.makeuseof.com/tag/compile-install-tar-gz-tar-bz2-files-ubuntu-linux/
on uninstall.
* The highscores file will be deleted on uninstall.
* Anonymine expects to be run by "python", not "python2.7" etc.
* The other version of python is expected to by "python3" or
"python2"; make sure you have that symlink as well if you want the
modules to be installed for both versions.
* enginecfg is auto-generated since 0.1.19, you can override the file
by creating `$(builddir)enginecfg.user` as your own enginecfg.
* Do not make any target that is not listed in the list of Makefile
targets.
targets. If you know what you're doing, it's okay.
* ./configure and Makefile are not made with the GNU Autotools.
The build system may behave unexpectedly.
./configure; make; make install
===============================
NOTICE: ./configure is not made with GNU Autoconf.
./configure will accept variables with three different syntaxes:
./configure --name value
./configure --name=value
......@@ -99,7 +99,8 @@ http://www.makeuseof.com/tag/compile-install-tar-gz-tar-bz2-files-ubuntu-linux/
-w Use sys.prefix as prefix. (For quickly removing versions
older than 0.0.31.)
The real "configure" script will handle these:
The real "configure" script will handle these iff they are the ONLY
argument to ./configure:
./configure -h
./configure -V
./configure --help
......@@ -179,9 +180,6 @@ http://www.makeuseof.com/tag/compile-install-tar-gz-tar-bz2-files-ubuntu-linux/
MODULES and MODULES_OTHERVER
============================
As Python 3 is slightly backwards-incompatible with Python 2,
both version may be installed.
This game works with both versions of Python, and installs three
modules that could be used by some other program.
......@@ -214,7 +212,7 @@ http://www.makeuseof.com/tag/compile-install-tar-gz-tar-bz2-files-ubuntu-linux/
directory for files from the build process.
DESTDIR Prepended to all paths on install and uninstall;
alternative root.
alternative root. (For staged installations.)
Both srcdir and builddir default to the current working directory.
......@@ -226,6 +224,9 @@ http://www.makeuseof.com/tag/compile-install-tar-gz-tar-bz2-files-ubuntu-linux/
builddir. You can cd to builddir and run `make && sudo make install`
without specifiying any arguments to make.
DESTDIR only affects make install, make uninstall, etc. It has zero
effect on ./configure.
NOTICE: There's a known bug with combining having both Python versions
and using the DESTDIR variable. The symlinks may not be pointing
where you expected them to.
......@@ -235,7 +236,8 @@ http://www.makeuseof.com/tag/compile-install-tar-gz-tar-bz2-files-ubuntu-linux/
=======================
NOTICE: DO NOT attempt to make any other target than what is
listed here.
listed here. `make` will not remake Makefile if you try to build
any other target.
all (default)
Fix the shebang line of the programs to be installed
......@@ -256,6 +258,9 @@ http://www.makeuseof.com/tag/compile-install-tar-gz-tar-bz2-files-ubuntu-linux/
identify itself as unmodified, installation will fail and the
configuration file must be manually edited.
install-dirs
Install the destination directories.
uninstall
This will remove the system-wide configuration files as well.
To remove an installed version older than 0.0.31 you'll need
......@@ -263,6 +268,12 @@ http://www.makeuseof.com/tag/compile-install-tar-gz-tar-bz2-files-ubuntu-linux/
WARNING: This removes the configuration files, even if altered.
WARNING: This removed the highscores file.
check-install-cfg
Install system-wide configuration files, but do not overwrite
user-modified files. This target will fail if the existing
configuration files have been modified and are not compatible
with the new version of Anonymine.
overwrite-cfg
Force compatible configuration files to be installed.
WARNING: User modified files will be overwritten.
......@@ -276,3 +287,9 @@ http://www.makeuseof.com/tag/compile-install-tar-gz-tar-bz2-files-ubuntu-linux/
make dist
'check' that I am not making an embarrassing release,
make 'tarballs' and the 'zip' and 'release' them.
TL;DR
=====
./configure -v && make && sudo make install
\ No newline at end of file
......@@ -106,14 +106,14 @@ $(builddir)Makefile.vars : $(srcdir)configure $(srcdir)configure.py
@cd "$(builddir)" && ./reconfigure
$(MAIN_STAGE) : $(MAIN_SRC) $(srcdir)Makefile.static
$(MAIN_STAGE) : $(MAIN_SRC) $(builddir)Makefile.vars $(srcdir)Makefile.static
@$(info) 'Creating the appropriate shebang line'
@echo "#!`which python`" > "$(MAIN_STAGE)"
@sed -e "$(MAIN_STAGE_SED1)" "$(MAIN_SRC)" \
| sed -e "$(MAIN_STAGE_SED2)" >> "$(MAIN_STAGE)"
$(ENGINECFG_STAGE) : $(srcdir)mkenginecfg
$(ENGINECFG_STAGE) : $(srcdir)mkenginecfg $(builddir)Makefile.vars
@$(info) 'Making enginecfg: mostly counting processors'
@"$(srcdir)mkenginecfg" "$(srcdir)" "$(builddir)" "$(HISCORE_FILE)"
......@@ -195,7 +195,9 @@ FD_ICON_DEST256 := $(FD_ICON_DESTDIR256)/$(NAME).png
# See desktop/README
BUNDLE := $(DESTDIR)/Applications/$(NAME_C).app
check-install-cfg : FORCE
check-install-cfg : $(builddir)Makefile FORCE
@cd "$(builddir)" && $(MAKE) _check-install-cfg >/dev/null
_check-install-cfg : FORCE
@$(PRE_INSTALL)
@: # Cause installation to fail if the configuration is incompatible.
@$(info) 'Installing or checking configuration'
......@@ -237,7 +239,7 @@ _install-dirs : FORCE
install : $(builddir)Makefile FORCE
@cd "$(builddir)" && $(MAKE) _install >/dev/null
_install : all check-install-cfg install-dirs
_install : _all _check-install-cfg _install-dirs
@$(NORMAL_INSTALL)
@: # When the configuration has been installed, install the main
@: # program, and then the modules for both versions of Python.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment