aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormitchell <70453897+667e-11@users.noreply.github.com>2017-02-12 21:45:36 -0500
committermitchell <70453897+667e-11@users.noreply.github.com>2017-02-12 21:45:36 -0500
commita472687ecd4baa1fbbd82e5d6994fa3671387f83 (patch)
tree911aee71042d85c8b008bb29c0197502fc20fd96
parent36781b31377cb5f8841c7757b70656801e9808bf (diff)
downloadtextadept-a472687ecd4baa1fbbd82e5d6994fa3671387f83.tar.gz
textadept-a472687ecd4baa1fbbd82e5d6994fa3671387f83.zip
Improved build for when dependencies are updated, and added summary to manual.
-rw-r--r--doc/manual.md18
-rw-r--r--src/Makefile11
2 files changed, 29 insertions, 0 deletions
diff --git a/doc/manual.md b/doc/manual.md
index 685a38c1..bf73cea7 100644
--- a/doc/manual.md
+++ b/doc/manual.md
@@ -1670,6 +1670,24 @@ cross-compiling from Linux. In order to do so, you need the
## Compiling
+### Makefile Command Summary
+
+The following table provides a brief summary of `make` or `gmake` rules for
+building Textadept. Subsequent sections contain more detailed descriptions,
+including platform-specific rules and options.
+
+Command |Description
+---------------------|-----------
+`make deps` |Downloads and builds all of Textadept's core dependencies
+`make verify-deps` |Verifies integrity of downloads (for optional security)
+`make` |Builds Textadept, provided all dependencies are in place
+`make install` |Installs Textadept (to */usr/local* by default)
+`make curses` |Builds the terminal version of Textadept
+`make curses install`|Installs the terminal version of Textadept
+`make uninstall` |Uninstalls Textadept (from */usr/local* by default)
+`make clean` |Deletes all compiled files, leaving only source files
+`make clean-deps` |Deletes all unpacked dependencies, leaving only downloads
+
### Compiling on Linux and BSD
Note: for BSD systems, replace the `make` commands below with `gmake`.
diff --git a/src/Makefile b/src/Makefile
index 99b4fcb6..dacd7ff8 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -425,10 +425,12 @@ cloc = cloc-1.60.pl
$(scintilla_tgz): ; wget http://prdownloads.sourceforge.net/scintilla/$@ -O $@
scintilla: scintilla.patch | $(scintilla_tgz)
+ if [ -d $@ ]; then rm -r $@; fi
mkdir $@ && tar xzf $| -C $@ && mv $@/*/* $@
patch -d $@ -N -p1 < $<
$(tre_zip): ; wget https://github.com/laurikari/tre/archive/$@ -O $@
tre: tre.patch | $(tre_zip)
+ if [ -d $@ ]; then rm -r $@; fi
mkdir $@ && unzip -d $@ $| && mv $@/*/* $@
patch -d $@ -N -p1 < $<
$(scinterm_zip): ; wget $(scinterm_url) -O $@
@@ -443,12 +445,14 @@ $(lpeg_tgz): ; wget http://www.inf.puc-rio.br/~roberto/lpeg/$@
$(lfs_zip): ; wget http://github.com/keplerproject/luafilesystem/archive/$@
$(lspawn_zip): ; wget $(lspawn_url) -O $@
lua: lua.patch | $(lua_tgz)
+ if [ -d $@ ]; then rm -r $@; fi
mkdir $@ && tar xzf $| -C $@ && mv $@/*/* $@
patch -d $@ -N -p1 < $<
lualibs: lua/src/lib/lpeg lua/src/lib/lfs lua/src/lib/lspawn
lua/src/lib/lpeg: | $(lpeg_tgz)
mkdir -p $@ && tar xzf $| -C $@ && mv $@/*/*.c $@/*/*.h $(dir $@)
lua/src/lib/lfs: lfs.patch | $(lfs_zip)
+ if [ -d $@ ]; then rm -r $@; fi
mkdir -p $@ && unzip -d $@ $| && mv $@/*/src/*.c $@/*/src/*.h $(dir $@)
patch -d $(dir $@) -N -p1 < $<
lua/src/lib/lspawn: | $(lspawn_zip)
@@ -458,6 +462,7 @@ lua/src/lib/lutf8lib.c: lutf8libjit.patch
patch -d $(dir $@) -N -p1 < $<
$(luajit_tgz): ; wget http://luajit.org/download/$@
luajit: luajit.patch | $(luajit_tgz)
+ if [ -d $@ ]; then rm -r $@; fi
mkdir $@ && tar xzf $| -C $@ && mv $@/*/* $@
patch -d $@ -N -p1 < $<
$(libluajit_tgz): ; wget http://foicica.com/textadept/download/$@
@@ -466,11 +471,13 @@ $(gtdialog_zip): ; wget $(gtdialog_url) -O $@
gtdialog: | $(gtdialog_zip) ; mkdir $@ && unzip -d $@ $| && mv $@/*/* $@
$(cdk_tgz): ; wget http://invisible-mirror.net/archives/cdk/$@
cdk: cdk.patch | $(cdk_tgz)
+ if [ -d $@ ]; then rm -r $@; fi
mkdir $@ && tar xzf $| -C $@ && mv $@/*/* $@
mv $@/include/*.h $@
patch -d $@ -N -p1 < $<
$(termkey_tgz): ; wget http://www.leonerd.org.uk/code/libtermkey/$@
termkey: termkey.patch | $(termkey_tgz)
+ if [ -d $@ ]; then rm -r $@; fi
mkdir $@ && tar xzf $| -C $@ && mv $@/*/* $@
patch -d $@ -N -p1 < $<
$(win32gtk_zip):
@@ -510,6 +517,10 @@ sign-deps: | $(scintilla_tgz) $(scinterm_zip) $(scintillua_zip) $(lua_tgz) \
verify-deps: | $(wildcard $(basename $(wildcard *.asc)))
@for file in $|; do echo "$$file"; gpg --verify $$file.asc || return 1; done
+clean-deps:
+ rm -rf scintilla tre ../lexers LexLPeg.cxx lua luajit gtdialog cdk termkey \
+ win32gtk win32curses gtkosx ../doc/bombay
+
# Count lines of code and generate ctags.
sources = ../core ../modules/ansi_c ../modules/lua ../modules/textadept \