aboutsummaryrefslogtreecommitdiff
path: root/src/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'src/Makefile')
-rw-r--r--src/Makefile97
1 files changed, 71 insertions, 26 deletions
diff --git a/src/Makefile b/src/Makefile
index 6b601cdb..cc07c107 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -178,10 +178,8 @@ lua_objs = lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o \
lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o \
lauxlib.o lbaselib.o lbitlib.o lcorolib.o ldblib.o liolib.o \
lmathlib.o loadlib.o loslib.o ltablib.o lstrlib.o \
- lpeg.o lfs.o
-# lpvm.o lpcap.o lptree.o lpcode.o lpprint.o lfs.o
-luajit_objs = lpegjit.o lfsjit.o
-#luajit_objs= lpvmjit.o lpcapjit.o lptreejit.o lpcodejit.o lpprintjit.o lfsjit.o
+ lpcap.o lpcode.o lpprint.o lptree.o lpvm.o lfs.o
+luajit_objs = lpcapjit.o lpcodejit.o lpprintjit.o lptreejit.o lpvmjit.o lfsjit.o
termkey_objs = termkey.o driver-ti.o driver-csi.o
cdk_objs = binding.o buttonbox.o button.o cdk.o cdk_display.o cdk_objs.o \
cdk_params.o cdkscreen.o debug.o draw.o entry.o fselect.o \
@@ -211,6 +209,11 @@ tmp:
# Dependencies.
+base_deps = scintilla scintilla/term scintillua lua lualibs luajit gtdialog cdk
+deps: $(base_deps) termkey
+win32-deps: $(base_deps) win32gtk win32curses
+osx-deps: $(base_deps) gtkosx termkey
+
$(scintilla_objs): scintilla/src/*.cxx scintilla/lexlib/*.cxx
$(CROSS)$(CXX) -c $(CXXFLAGS) $(sci_flags) $^
$(scintilla_gtk_objs): scintilla/gtk/*.cxx
@@ -242,9 +245,9 @@ textadept-curses.o: textadept.c
textadeptjit-curses.o: textadept.c
$(CROSS)$(CC) -c $(CFLAGS) $(ta_flags) -DLUAJIT -Iluajit/src \
-Iscintilla/term -Itermkey -Icdk $(curses_flags) $< -o $@
-$(lua_objs): lua/src/*.c lua/src/lib/*.c lua/src/lib/lpeg/*.c
+$(lua_objs): lua/src/*.c lua/src/lib/*.c
$(CROSS)$(CC) -c $(CFLAGS) $(LUAFLAGS) -Ilua/src $^
-$(luajit_objs): lua/src/lib/*.c lua/src/lib/lpeg/*.c
+$(luajit_objs): $(addprefix lua/src/lib/, $(luajit_objs:jit.o=.c))
$(CROSS)$(CC) -c $(CFLAGS) $(LUAFLAGS) -Iluajit/src $^
for lib in $(luajit_objs); do mv $$(echo $$lib | sed 's/jit//g') $$lib; done
libluajit.a:
@@ -268,10 +271,10 @@ gtdialog.o: gtdialog/gtdialog.c
gtdialog-curses.o: gtdialog/gtdialog.c
$(CROSS)$(CC) -c $(CFLAGS) -DCURSES -DNOHELP -DLIBRARY -Icdk $(curses_flags) \
$< -o $@
-$(termkey_objs): termkey/*.c
- $(CROSS)$(CC) -c $(CFLAGS) -std=c99 $^
-$(cdk_objs): cdk/*.c
+$(cdk_objs): $(addprefix cdk/, $(cdk_objs:.o=.c))
$(CROSS)$(CC) -c $(CFLAGS) -D_GNU_SOURCE -Icdk $(curses_flags) $^
+$(termkey_objs): $(addprefix termkey/, $(termkey_objs:.o=.c))
+ $(CROSS)$(CC) -c $(CFLAGS) -std=c99 $^
textadept_rc.o: textadept.rc
$(CROSS)$(WINDRES) $^ $@
@@ -462,8 +465,18 @@ cleanup: ../releases/$(basedir).x86_64.tgz ../releases/$(basedir).i386.tgz \
$(basedir)
rm -r $|
-# Platform UI directories.
-
+# External dependencies.
+
+scintilla_tgz = scintilla333.tgz?download
+scinterm_zip = scinterm.zip
+scintillua_zip = scintillua.zip
+lua_tgz = lua-5.2.2.tar.gz
+lpeg_tgz = lpeg-0.12.tar.gz
+lfs_zip = master.zip
+luajit_tgz = LuaJIT-2.0.2.tar.gz
+gtdialog_zip = gtdialog.zip
+cdk_tgz = cdk.tar.gz
+termkey_tgz = libtermkey-0.16.tar.gz
win32gtk_zip = gtk+-bundle_2.24.10-20120208_win32.zip
win32iconv_bin_zip = libiconv-bin-zip.php
win32iconv_lib_zip = libiconv-lib-zip.php
@@ -471,32 +484,64 @@ win32curses_zip = win32curses.zip
pdcurses_zip = download
gtkosx_zip = gtkosx-2.24.16.zip
+$(scintilla_tgz): ; wget "http://prdownloads.sourceforge.net/scintilla/$@"
+scintilla: scintilla.patch | $(scintilla_tgz)
+ mkdir $@ && tar xzf $| -C $@ && mv $@/*/* $@
+ patch -d $@ -N -p1 < $<
+$(scinterm_zip):
+ wget "http://foicica.com/hg/scinterm/archive/tip.zip" && mv tip.zip $@
+scintilla/term: | $(scinterm_zip) ; mkdir $@ && unzip -d $@ $| && mv $@/*/* $@
+scintillua: ../lexers LexLPeg.cxx
+$(scintillua_zip):
+ wget "http://foicica.com/hg/scintillua/archive/tip.zip" && mv tip.zip $@
+../lexers: | $(scintillua_zip)
+ mkdir $@ && unzip -d $@ $| && mv $@/*/* $@
+ ln -s $@/lexers/*.lua $@
+LexLPeg.cxx: | ../lexers ; ln -s $|/$@ $@
+$(lua_tgz): ; wget "http://www.lua.org/ftp/$@"
+$(lpeg_tgz): ; wget "http://www.inf.puc-rio.br/~roberto/lpeg/$@"
+$(lfs_zip): ; wget "https://github.com/keplerproject/luafilesystem/archive/$@"
+lua: lua.patch | $(lua_tgz)
+ mkdir $@ && tar xzf $| -C $@ && mv $@/*/* $@
+ patch -d $@ -N -p1 < $<
+lualibs: lua/src/lib/lpeg lua/src/lib/lfs
+lua/src/lib/lpeg: | $(lpeg_tgz)
+ mkdir -p $@ && tar xzf $| -C $@ && mv $@/*/*.c $@/*/*.h $(dir $@)
+lua/src/lib/lfs: | $(lfs_zip)
+ mkdir -p $@ && unzip -d $@ $| && mv $@/*/src/*.c $@/*/src/*.h $(dir $@)
+$(luajit_tgz): ; wget "http://luajit.org/download/$@"
+luajit: luajit.patch | $(luajit_tgz)
+ mkdir $@ && tar xzf $| -C $@ && mv $@/*/* $@
+ patch -d $@ -N -p1 < $<
+$(gtdialog_zip):
+ wget "http://foicica.com/hg/gtdialog/archive/tip.zip" && mv tip.zip $@
+gtdialog: | $(gtdialog_zip) ; mkdir $@ && unzip -d $@ $| && mv $@/*/* $@
+$(cdk_tgz): ; wget "http://invisible-island.net/datafiles/release/$@"
+cdk: cdk.patch | $(cdk_tgz)
+ mkdir $@ && tar xzf $| -C $@ && mv $@/*/* $@
+ mv $@/include/*.h $@
+ patch -d $@ -N -p1 < $<
+$(termkey_tgz): ; wget "http://www.leonerd.org.uk/code/libtermkey/$@"
+termkey: | $(termkey_tgz) ; mkdir $@ && tar xzf $| -C $@ && mv $@/*/* $@
$(win32gtk_zip):
wget "http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.24/$@"
-$(win32iconv_bin_zip):
- wget "http://gnuwin32.sourceforge.net/downlinks/$@"
-$(win32iconv_lib_zip):
- wget "http://gnuwin32.sourceforge.net/downlinks/$@"
-win32gtk: $(win32gtk_zip) $(win32iconv_bin_zip) $(win32iconv_lib_zip)
+$(win32iconv_bin_zip): ; wget "http://gnuwin32.sourceforge.net/downlinks/$@"
+$(win32iconv_lib_zip): ; wget "http://gnuwin32.sourceforge.net/downlinks/$@"
+win32gtk: | $(win32gtk_zip) $(win32iconv_bin_zip) $(win32iconv_lib_zip)
mkdir $@
unzip -d $@ $(win32gtk_zip)
for zip in $(win32iconv_bin_zip) $(win32iconv_lib_zip); do \
unzip -d $@ $$zip; \
done
-$(win32curses_zip):
- wget "http://foicica.com/textadept/download/$@"
+$(win32curses_zip): ; wget "http://foicica.com/textadept/download/$@"
$(pdcurses_zip):
wget "http://sf.net/projects/pdcurses/files/pdcurses/3.4/pdcurs34.zip/$@"
-win32curses: $(win32curses_zip) $(pdcurses_zip)
+win32curses: | $(win32curses_zip) $(pdcurses_zip)
unzip $(win32curses_zip)
- mkdir $@/src
- unzip -d $@/src $(pdcurses_zip)
+ mkdir $@/src && unzip -d $@/src $(pdcurses_zip)
cp $@/lib/pdckbd.c $@/src/win32
cd $@/src/win32 && $(MAKE) -f gccwin32.mak CC="$(CROSS)$(CC) $(CFLAGS)" \
LIBEXE=$(CROSS)ar LINK="$(CROSS)$(CC) $(CFLAGS)" WIDE=Y UTF8=Y
cp $@/src/win32/pdcurses.a $@/lib/
-$(gtkosx_zip):
- wget "http://foicica.com/textadept/download/$@"
-gtkosx: $(gtkosx_zip)
- unzip $(gtkosx_zip)
- mv $(shell echo $(gtkosx_zip) | sed -e 's/.zip//;') $@
+$(gtkosx_zip): ; wget "http://foicica.com/textadept/download/$@"
+gtkosx: | $(gtkosx_zip) ; mkdir $@ && unzip -d $@ $| && mv $@/*/* $@