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.
* 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 <>
......@@ -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
......@@ -22,6 +23,8 @@ DEPENDENCIES
NOTICE: This section only applies to unix-like systems.
In the directory extracted from the tarball, run:
......@@ -32,8 +35,6 @@
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.
......@@ -63,18 +64,17 @@
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. 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 @@
-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 @@
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 @@
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 @@
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 @@
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 @@
identify itself as unmodified, installation will fail and the
configuration file must be manually edited.
Install the destination directories.
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 @@
WARNING: This removes the configuration files, even if altered.
WARNING: This removed the highscores file.
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.
Force compatible configuration files to be installed.
WARNING: User modified files will be overwritten.
......@@ -276,3 +287,9 @@
make dist
'check' that I am not making an embarrassing release,
make 'tarballs' and the 'zip' and 'release' them.
./configure -v && make && sudo make install
\ No newline at end of file
......@@ -106,14 +106,14 @@ $(builddir)Makefile.vars : $(srcdir)configure $(srcdir)
@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
@: # 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
@: # 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