blob: e058cb8037fde1951ce93476f51f735e4d1082f5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
# Copyright 2007-2009 Mitchell mitchell<att>caladbolg.net. See LICENSE.
.SUFFIXES: .c .o .h .a .cxx
ifndef WIN32
CC = gcc
CPP = g++
PKG_CONFIG = pkg-config
PKG_CONFIG_PATH = $PKG_CONFIG_PATH
PLAT_FLAGS = -DGTK
SCI_THREAD_FLAG =
LUA_CFLAGS = -DLUA_USE_LINUX
TEXTADEPT = textadept
TEXTADEPT_RC =
else
CC = i486-mingw32-gcc -mms-bitfields
CPP = i486-mingw32-g++ -mms-bitfields -mwindows
PKG_CONFIG = pkg-config --define-variable=prefix=win32gtk
PKG_CONFIG_PATH = $(shell pwd)/win32gtk/lib/pkgconfig
PLAT_FLAGS = -DGTK -D__WIN32__
SCI_THREAD_FLAG = -DG_THREADS_IMPL_NONE
LUA_CFLAGS = -D_WIN32 -DWIN32
TEXTADEPT = textadept.exe
TEXTADEPT_RC = textadept_rc.o
WINDRES = i486-mingw32-windres
endif
ifndef DEBUG
DEBUG_FLAG = -DNDEBUG
else
DEBUG_FLAG = -DDEBUG -g
endif
INCLUDEDIRS = -Iscintilla-st/include -Ilua/include -Igcocoadialog
# Textadept
CFLAGS = -std=c99 $(DEBUG_FLAG) -O $(PLAT_FLAGS) $(INCLUDEDIRS) -W -Wall \
-Wno-sign-compare -Wno-unused
GTKFLAGS = $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKG_CONFIG) \
--cflags gtk+-2.0)
GTKLIBS = $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKG_CONFIG) \
--libs gtk+-2.0 gthread-2.0)
EXPORTLUASYMS = -rdynamic -Wl,--retain-symbols-file -Wl,lua.sym
TEXTADEPT_OBJS = textadept.o lua_interface.o
LUA_OBJS = lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \
lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o \
lvm.o lzio.o \
lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o ltablib.o lstrlib.o \
loadlib.o loslib.o linit.o \
lpeg.o lfs.o
GCOCOADIALOG = gcocoadialog.o
# Scintilla
SCI_CXXFLAGS = $(DEBUG_FLAG) -pedantic -Os $(PLAT_FLAGS) -DSCI_LEXER \
$(SCI_THREAD_FLAG) $(INCLUDEDIRS) -Iscintilla-st/src -Iscintilla-st/gtk \
-Wall -Wno-missing-braces -Wno-char-subscripts
SCINTILLA_OBJS = AutoComplete.o CallTip.o CellBuffer.o CharClassify.o \
ContractionState.o Decoration.o Document.o DocumentAccessor.o Editor.o \
ExternalLexer.o Indicator.o KeyMap.o KeyWords.o LexLPeg.o LineMarker.o \
PerLine.o PositionCache.o PropSet.o RESearch.o RunStyles.o ScintillaBase.o \
Style.o StyleContext.o UniConversion.o ViewStyle.o WindowAccessor.o XPM.o \
PlatGTK.o ScintillaGTK.o
SCINTILLA_MARSHALLER = scintilla-marshal.o
# Build
all: $(TEXTADEPT)
$(SCINTILLA_OBJS): scintilla-st/gtk/*.cxx scintilla-st/src/*.cxx
$(CPP) $(SCI_CXXFLAGS) $(GTKFLAGS) -c $^
$(SCINTILLA_MARSHALLER): scintilla-st/gtk/scintilla-marshal.c
$(CC) $(SCI_CXXFLAGS) $(GTKFLAGS) -w -c $^
$(TEXTADEPT_OBJS): *.c
$(CC) $(CFLAGS) $(GTKFLAGS) -c $^
$(LUA_OBJS): lua/src/*.c
$(CC) $(LUA_CFLAGS) $(INCLUDEDIRS) -c $^
$(GCOCOADIALOG): gcocoadialog/gcocoadialog.c
$(CC) $(GTKFLAGS) $(INCLUDEDIRS) -c $^
$(TEXTADEPT):\
$(SCINTILLA_OBJS) $(SCINTILLA_MARSHALLER) \
$(TEXTADEPT_OBJS) $(LUA_OBJS) $(GCOCOADIALOG) \
$(TEXTADEPT_RC)
$(CPP) $(EXPORTLUASYMS) -o $@ $^ $(GTKLIBS)
mv $(TEXTADEPT) ../
$(TEXTADEPT_RC): textadept.rc
$(WINDRES) $^ $@
clean:
rm ../$(TEXTADEPT) *.o
# Package (Note: pass 'VERSION=[release version]' to 'make')
ifndef WIN32
ZIP = tar czf
PACKAGE = textadept_$(value VERSION).tgz
UNZIP = tar xzf
else
ZIP = zip -r
PACKAGE = textadept_$(value VERSION).win32.zip
UNZIP = unzip
endif
SRCPACKAGE = textadept.src.zip
RELEASEDIR = textadept_$(value VERSION)
release: ../$(TEXTADEPT)
hg archive $(RELEASEDIR)
rm $(RELEASEDIR)/.hg*
sh -c 'cd ../ && ./update_doc'
cp -r ../doc $(RELEASEDIR)
svn export http://scite-tools.googlecode.com/svn/branches/scite-st/lexers \
$(RELEASEDIR)/lexers
cp ../$(TEXTADEPT) $(RELEASEDIR)
$(ZIP) $(PACKAGE) $(RELEASEDIR)
rm -r $(RELEASEDIR)
source: $(PACKAGE)
$(UNZIP) $(PACKAGE)
cp -r lua scintilla-st gcocoadialog $(RELEASEDIR)/src/
rm $(RELEASEDIR)/$(TEXTADEPT)
zip -r $(SRCPACKAGE) $(RELEASEDIR)
rm -r $(RELEASEDIR)
|