diff options
author | 2012-06-29 13:45:29 -0400 | |
---|---|---|
committer | 2012-06-29 13:45:29 -0400 | |
commit | 95211cbac27fa13cce9a2d8a7b04a15464db6d21 (patch) | |
tree | 8e5c4e194d0811b9f1d95deb1f3cc015132b20b5 | |
parent | c010201864fec5d0e7f548ab074c0ebe6ecd5417 (diff) | |
download | textadept-95211cbac27fa13cce9a2d8a7b04a15464db6d21.tar.gz textadept-95211cbac27fa13cce9a2d8a7b04a15464db6d21.zip |
Support cross-compiling for Mac OSX; src/Makefile
-rw-r--r-- | src/Makefile | 133 |
1 files changed, 80 insertions, 53 deletions
diff --git a/src/Makefile b/src/Makefile index 2bee3b00..18f71e9a 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,7 +1,51 @@ # Copyright 2007-2012 Mitchell mitchell.att.foicica.com. See LICENSE. ifeq (Linux, $(shell uname -s)) - ifneq (win32, $(MAKECMDGOALS)) + ifeq (win32, $(MAKECMDGOALS)) + CROSS = i586-mingw32msvc- + CC = gcc + CFLAGS = -mms-bitfields + CXX = g++ + CXXFLAGS = -mms-bitfields -mwindows -static-libgcc -static-libstdc++ + LDFLAGS = -liconv -Wl,--retain-symbols-file -Wl,lua.sym + WINDRES = windres + + plat_flag = -DGTK + gtk_flags = $(shell PKG_CONFIG_PATH=`pwd`/win32gtk/lib/pkgconfig \ + pkg-config --define-variable=prefix=win32gtk \ + --cflags gtk+-2.0) + gtk_libs = $(shell PKG_CONFIG_PATH=`pwd`/win32gtk/lib/pkgconfig \ + pkg-config --define-variable=prefix=win32gtk \ + --libs gtk+-2.0) + + luadoc = luadoc_start.bat + else ifeq (osx, $(MAKECMDGOALS)) + CROSS = i686-apple-darwin10- + CC = gcc + CFLAGS = -m32 -arch i386 -mdynamic-no-pic -mmacosx-version-min=10.5 \ + -isysroot /usr/lib/apple/SDKs/MacOSX10.5.sdk + CXX = g++ + CXXFLAGS = -m32 -arch i386 -mdynamic-no-pic -mmacosx-version-min=10.5 \ + -isysroot /usr/lib/apple/SDKs/MacOSX10.5.sdk + LUAFLAGS = -DLUA_USE_MACOSX + LDFLAGS = -liconv -rdynamic + + #ifneq (ncurses, $(MAKECMDGOALS)) + plat_flag = -DGTK + gtk_flags = $(shell PKG_CONFIG_PATH=`pwd`/gtkosx/lib/pkgconfig \ + pkg-config --define-variable=prefix=gtkosx \ + --cflags gtk+-2.0) + gtk_libs = $(shell PKG_CONFIG_PATH=`pwd`/gtkosx/lib/pkgconfig \ + pkg-config --define-variable=prefix=gtkosx \ + --libs gtk+-2.0) -framework Cocoa -lgtkmacintegration + #else + # plat_flag = -DNCURSES + # .DEFAULT_GOAL := osx-ncurses + #endif + libluajit = libluajit.osx.a + + luadoc = luadoc + else CC = gcc CXX = g++ LUAFLAGS = -DLUA_USE_LINUX @@ -19,52 +63,35 @@ ifeq (Linux, $(shell uname -s)) else plat_flag = -DNCURSES endif + libluajit = libluajit.a luadoc = luadoc - else # (make win32) - CROSS = i586-mingw32msvc- - CC = gcc - CFLAGS = -mms-bitfields - CXX = g++ - CXXFLAGS = -mms-bitfields -mwindows -static-libgcc -static-libstdc++ - LDFLAGS = -liconv -Wl,--retain-symbols-file -Wl,lua.sym - WINDRES = windres - - plat_flag = -DGTK - gtk_flags = $(shell PKG_CONFIG_PATH=`pwd`/win32gtk/lib/pkgconfig \ - pkg-config --define-variable=prefix=win32gtk \ - --cflags gtk+-2.0) - gtk_libs = $(shell PKG_CONFIG_PATH=`pwd`/win32gtk/lib/pkgconfig \ - pkg-config --define-variable=prefix=win32gtk \ - --libs gtk+-2.0) - - luadoc = luadoc_start.bat endif -else ifeq (Darwin, $(shell uname -s)) - CC = gcc - CFLAGS = -arch i386 -mdynamic-no-pic -mmacosx-version-min=10.5 \ - -isysroot /Developer/SDKs/MacOSX10.5.sdk - CXX = g++ - CXXFLAGS = -arch i386 -mdynamic-no-pic -mmacosx-version-min=10.5 \ - -isysroot /Developer/SDKs/MacOSX10.5.sdk - LUAFLAGS = -DLUA_USE_MACOSX - LDFLAGS = -liconv -rdynamic - - #ifneq (ncurses, $(MAKECMDGOALS)) - plat_flag = -DGTK - gtk_flags = $(shell PKG_CONFIG_PATH=`pwd`/gtkosx/lib/pkgconfig \ - gtkosx/bin/pkg-config --define-variable=prefix=gtkosx \ - --cflags gtk+-2.0) - gtk_libs = $(shell PKG_CONFIG_PATH=`pwd`/gtkosx/lib/pkgconfig \ - gtkosx/bin/pkg-config --define-variable=prefix=gtkosx \ - --libs gtk+-2.0) -framework Cocoa -lgtkmacintegration - .DEFAULT_GOAL := osx - #else - # plat_flag = -DNCURSES - # .DEFAULT_GOAL := osx-ncurses - #endif - - luadoc = luadoc +#else ifeq (Darwin, $(shell uname -s)) +# CC = gcc +# CFLAGS = -arch i386 -mdynamic-no-pic -mmacosx-version-min=10.5 \ +# -isysroot /Developer/SDKs/MacOSX10.5.sdk +# CXX = g++ +# CXXFLAGS = -arch i386 -mdynamic-no-pic -mmacosx-version-min=10.5 \ +# -isysroot /Developer/SDKs/MacOSX10.5.sdk +# LUAFLAGS = -DLUA_USE_MACOSX +# LDFLAGS = -liconv -rdynamic +# +# #ifneq (ncurses, $(MAKECMDGOALS)) +# plat_flag = -DGTK +# gtk_flags = $(shell PKG_CONFIG_PATH=`pwd`/gtkosx/lib/pkgconfig \ +# gtkosx/bin/pkg-config --define-variable=prefix=gtkosx \ +# --cflags gtk+-2.0) +# gtk_libs = $(shell PKG_CONFIG_PATH=`pwd`/gtkosx/lib/pkgconfig \ +# gtkosx/bin/pkg-config --define-variable=prefix=gtkosx \ +# --libs gtk+-2.0) -framework Cocoa -lgtkmacintegration +# .DEFAULT_GOAL := osx +# #else +# # plat_flag = -DNCURSES +# # .DEFAULT_GOAL := osx-ncurses +# #endif +# +# luadoc = luadoc endif # No debugging unless DEBUG=1. @@ -121,9 +148,9 @@ osx-ncurses: textadept-ncurses.osx textadeptjit-ncurses.osx tmp: rm -rf /tmp/tabuild && hg clone ../ /tmp/tabuild - cp -rL Doxygen ../doc ../lexers ../modules /tmp/tabuild/ - cp -r gtdialog gtkosx LexLPeg.cxx lua luajit scintilla termkey win32gtk \ - /tmp/tabuild/src/ + cp -rL ../Doxyfile ../doc ../lexers ../modules /tmp/tabuild/ + cp -r gtdialog gtkosx LexLPeg.cxx libluajit.osx.a lua luajit lua51.dll \ + scintilla termkey win32gtk /tmp/tabuild/src/ cd /tmp/tabuild/src/luajit && make clean ln -s `pwd`/../releases /tmp/tabuild @echo /tmp/tabuild ready for building. @@ -160,9 +187,9 @@ $(lua_objs): lua/src/*.c lua/src/lib/*.c $(luajit_objs): lua/src/lib/*.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: +$(libluajit): cd luajit && make CC="$(CC) $(CFLAGS)" - cp luajit/src/$@ . + cp luajit/src/libluajit.a $@ lua51.dll: cd luajit && make HOST_CC="$(CC) -m32" CROSS=$(CROSS) TARGET_SYS=Windows cp luajit/src/$@ . @@ -181,14 +208,14 @@ textadept: $(scintilla_objs) $(scintilla_gtk_objs) scintilla-marshal.o \ LexLPeg.o textadept.o $(lua_objs) gtdialog.o $(CROSS)$(CXX) $(CXXFLAGS) -o ../$@ $^ $(gtk_libs) $(LDFLAGS) textadeptjit: $(scintilla_objs) $(scintilla_gtk_objs) scintilla-marshal.o \ - LexLPegjit.o textadeptjit.o $(luajit_objs) libluajit.a gtdialog.o + LexLPegjit.o textadeptjit.o $(luajit_objs) $(libluajit) gtdialog.o $(CROSS)$(CXX) $(CXXFLAGS) -o ../$@ $^ $(gtk_libs) $(LDFLAGS) textadept-ncurses: $(scintilla_objs) ScintillaTerm.o LexLPeg.o \ textadept-ncurses.o $(lua_objs) gtdialog-ncurses.o \ $(termkey_objs) $(CROSS)$(CXX) $(CXXFLAGS) -o ../$@ $^ -lncursesw -lcdk $(LDFLAGS) textadeptjit-ncurses: $(scintilla_objs) ScintillaTerm.o LexLPegjit.o \ - textadeptjit-ncurses.o $(luajit_objs) libluajit.a \ + textadeptjit-ncurses.o $(luajit_objs) $(libluajit) \ gtdialog-ncurses.o $(termkey_objs) $(CROSS)$(CXX) $(CXXFLAGS) -o ../$@ $^ -lncursesw -lcdk $(LDFLAGS) textadept32: ../textadept; mv $< ../$@ @@ -262,9 +289,9 @@ $(basedir).win32: ../textadept.exe ../textadeptjit.exe lua51.dll | $(basedir) cp win32gtk/bin/*.dll $@ && cp -r win32gtk/etc win32gtk/lib win32gtk/share $@ rm -r $@/lib/*.a $@/lib/glib-2.0 $@/lib/gtk-2.0/include $@/lib/pkgconfig $(basedir).osx: ../textadept.osx ../textadeptjit.osx | $(basedir) - mkdir $@ && cp -rL gtkosx $@/Textadept.app + mkdir $@ && cp -rL gtkosx/app $@/Textadept.app cp $^ $@/Textadept.app/Contents/MacOS/ - cp -r $|/* $@/Textadept.app/Contents/Resources/ + cp -rL $|/* $@/Textadept.app/Contents/Resources/ mv $@/Textadept.app/Contents/Resources/core/images/textadept.icns \ $@/Textadept.app/Contents/Resources/ mv $@/Textadept.app/Contents/MacOS/ta $@ |