ref: 39d8674a9372d5dcf643a759262fc95e4a248fb8
parent: a2dc23c55c574a8f1da568da7ca705fcc8a5269f
author: Anthony J. Bentley <[email protected]>
date: Thu Oct 18 16:22:47 EDT 2012
Improve the Makefile: allow user‐defined variables.
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,10 @@
CFLAGS += -Wall -Iinclude -Iinclude/asm/gameboy -g -std=c99
-PREFIX ?= /usr/local
+# User-defined variables
+PREFIX = /usr/local
+BINPREFIX = ${PREFIX}/bin
+MANPREFIX = ${PREFIX}/man
+
yacc_pre := \
src/asm/yaccprt1.y\
src/asm/gameboy/yaccprt2.y\
@@ -47,19 +51,19 @@
@rm -rf src/asm/asmy.c
install: all
- @install -s -o root -g bin -m 555 rgbasm ${PREFIX}/bin/rgbasm
- @install -s -o root -g bin -m 555 rgbfix ${PREFIX}/bin/rgbfix
- @install -s -o root -g bin -m 555 rgblink ${PREFIX}/bin/rgblink
- @install -s -o root -g bin -m 555 rgblib ${PREFIX}/bin/rgblib
- @install -o root -g bin -m 444 src/rgbds.7 ${PREFIX}/man/cat7/rgbds.7
- @install -o root -g bin -m 444 src/asm/rgbasm.1 \
- ${PREFIX}/man/cat1/rgbasm.1
- @install -o root -g bin -m 444 src/fix/rgbfix.1 \
- ${PREFIX}/man/cat1/rgbfix.1
- @install -o root -g bin -m 444 src/link/rgblink.1 \
- ${PREFIX}/man/cat1/rgblink.1
- @install -o root -g bin -m 444 src/lib/rgblib.1 \
- ${PREFIX}/man/cat1/rgblib.1
+ @install -s -m 555 rgbasm ${BINPREFIX}/rgbasm
+ @install -s -m 555 rgbfix ${BINPREFIX}/rgbfix
+ @install -s -m 555 rgblink ${BINPREFIX}/rgblink
+ @install -s -m 555 rgblib ${BINPREFIX}/rgblib
+ @install -m 444 src/rgbds.7 ${MANPREFIX}/man7/rgbds.7
+ @install -m 444 src/asm/rgbasm.1 \
+ ${MANPREFIX}/man1/rgbasm.1
+ @install -m 444 src/fix/rgbfix.1 \
+ ${MANPREFIX}/man1/rgbfix.1
+ @install -m 444 src/link/rgblink.1 \
+ ${MANPREFIX}/man1/rgblink.1
+ @install -m 444 src/lib/rgblib.1 \
+ ${MANPREFIX}/man1/rgblib.1
rgbasm: $(rgbasm_obj)
@${CC} $(CFLAGS) -o $@ $(rgbasm_obj) -lm
--- a/README
+++ b/README
@@ -26,9 +26,27 @@
make install
-You can read the manuals with the man(1) command. E.g.,
+After installation, you can read the manuals with the man(1) command. E.g.,
man 1 rgbasm
+
+
+Note: the variables described below can affect installation behavior when given
+on the make command line. For example, to install rgbds in your home directory
+instead of systemwide, run the following:
+
+ mkdir -p $HOME/{bin,man/man1,man/man7}
+ make install PREFIX=$HOME
+
+
+PREFIX: Location where RGBDS will be installed. Defaults to /usr/local.
+
+BINPREFIX: Location where the RGBDS programs will be installed. Defaults
+to ${PREFIX}/bin.
+
+MANPREFIX: Location where the RGBDS man pages will be installed. Defaults
+to ${PREFIX}/man.
+
Installing RGBDS (Windows)
============================