aboutsummaryrefslogtreecommitdiffhomepage
path: root/cocoa
diff options
context:
space:
mode:
Diffstat (limited to 'cocoa')
-rw-r--r--cocoa/Framework.mk85
-rw-r--r--cocoa/SciTest.mk38
-rw-r--r--cocoa/common.mk57
3 files changed, 107 insertions, 73 deletions
diff --git a/cocoa/Framework.mk b/cocoa/Framework.mk
index 06a29735b..413ebc76b 100644
--- a/cocoa/Framework.mk
+++ b/cocoa/Framework.mk
@@ -1,49 +1,51 @@
### start defines ###
+include common.mk
-ARCH=-arch i386
-CC=gcc -x c++ $(ARCH)
-CO=gcc -x objective-c++ $(ARCH)
+INST_NAME=-install_name \
+ @executable_path/../Frameworks/Sci.framework/Versions/A/Sci
-INST_NAME=-install_name @executable_path/../Frameworks/Sci.framework/Versions/A/Sci
LD=gcc $(ARCH) -dynamiclib -framework Cocoa $(INST_NAME)
-gDEFs=-DSCI_NAMESPACE -DSCI_LEXER
-
-INCS=-I../src/ -I../include/ -I.
-CCX=$(CC) $(gDEFs) $(INCS)
-CCO=$(CO) $(gDEFs) $(INCS)
-
-BLD=build/framebuild
-
-SCI_LEXERS=LexAPDL.o LexASY.o LexAU3.o LexAVE.o LexAbaqus.o LexAda.o LexAsm.o LexAsn1.o \
- LexBaan.o LexBash.o LexBasic.o LexBullant.o LexCLW.o LexCOBOL.o LexCPP.o LexCSS.o \
- LexCaml.o LexCmake.o LexConf.o LexCrontab.o LexCsound.o LexD.o LexEScript.o LexEiffel.o \
- LexErlang.o LexFlagship.o LexForth.o LexFortran.o LexGAP.o LexGui4Cli.o LexHTML.o \
- LexHaskell.o LexInno.o LexKix.o LexLisp.o LexLout.o LexLua.o LexMMIXAL.o LexMPT.o \
- LexMSSQL.o LexMagik.o LexMarkdown.o LexMatlab.o LexMetapost.o LexMySQL.o LexNimrod.o \
- LexNsis.o LexOpal.o LexOthers.o LexPB.o LexPLM.o LexPOV.o LexPS.o LexPascal.o LexPerl.o \
- LexPowerPro.o LexPowerShell.o LexProgress.o LexPython.o LexR.o LexRebol.o LexRuby.o \
- LexSML.o LexSQL.o LexScriptol.o LexSmalltalk.o LexSorcus.o LexSpecman.o LexSpice.o \
- LexTACL.o LexTADS3.o LexTAL.o LexTCL.o LexTeX.o LexVB.o LexVHDL.o LexVerilog.o LexYAML.o
-
-SCI_OBJ=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 \
- 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 Selection.o $(SCI_LEXERS)
+SCI_LEXERS=LexAPDL.o LexASY.o LexAU3.o LexAVE.o LexAbaqus.o LexAda.o \
+ LexAsm.o LexAsn1.o LexBaan.o LexBash.o LexBasic.o LexBullant.o LexCLW.o \
+ LexCOBOL.o LexCPP.o LexCSS.o LexCaml.o LexCmake.o LexConf.o LexCrontab.o \
+ LexCsound.o LexD.o LexEScript.o LexEiffel.o LexErlang.o LexFlagship.o \
+ LexForth.o LexFortran.o LexGAP.o LexGui4Cli.o LexHTML.o LexHaskell.o \
+ LexInno.o LexKix.o LexLisp.o LexLout.o LexLua.o LexMMIXAL.o LexMPT.o \
+ LexMSSQL.o LexMagik.o LexMarkdown.o LexMatlab.o LexMetapost.o LexMySQL.o \
+ LexNimrod.o LexNsis.o LexOpal.o LexOthers.o LexPB.o LexPLM.o LexPOV.o \
+ LexPS.o LexPascal.o LexPerl.o LexPowerPro.o LexPowerShell.o LexProgress.o \
+ LexPython.o LexR.o LexRebol.o LexRuby.o LexSML.o LexSQL.o LexScriptol.o \
+ LexSmalltalk.o LexSorcus.o LexSpecman.o LexSpice.o LexTACL.o LexTADS3.o \
+ LexTAL.o LexTCL.o LexTeX.o LexVB.o LexVHDL.o LexVerilog.o LexYAML.o \
+ LexerBase.o LexerModule.o LexerSimple.o Accessor.o
+
+SCI_OBJ=AutoComplete.o CallTip.o CellBuffer.o CharClassify.o \
+ ContractionState.o Decoration.o Document.o Editor.o \
+ ExternalLexer.o Indicator.o KeyMap.o LineMarker.o PerLine.o \
+ PositionCache.o PropSetSimple.o RESearch.o RunStyles.o ScintillaBase.o Style.o \
+ StyleContext.o UniConversion.o ViewStyle.o XPM.o WordList.o \
+ Selection.o CharacterSet.o Catalogue.o $(SCI_LEXERS)
+
+WAH_OBJ=DocumentAccessor.o KeyWords.o WindowAccessor.o
+
COC_OBJ=PlatCocoa.o ScintillaCocoa.o ScintillaView.o InfoBar.o
-OBJ=$(SCI_OBJ) $(COC_OBJ)
-OBJS=$(addprefix $(BLD)/,$(OBJ))
+OBJ=$(SCI_OBJ) $(UNUSED_OBJ) $(COC_OBJ)
+OBJS=$(addprefix $(FRM_BLD)/,$(OBJ))
TARG=$(APP)/Versions/A/Sci
-APP=$(BLD)/Sci.framework
+APP=$(FRM_BLD)/Sci.framework
### end defines ###
### start targets ###
-all: $(BLD) $(TARG)
+all: $(FRM_BLD) $(TARG)
+
+cleanfrm:
+ -rm -rf $(FRM_BLD)
-$(APP): $(BLD)
+$(APP): $(FRM_BLD)
-rm -rf $(APP)
-mkdir $(APP)
-mkdir $(APP)/Versions
@@ -64,22 +66,15 @@ $(TARG) : $(OBJS) $(APP)
$(LD) $(OBJS) $(gDEFs) -o $(TARG) -lstdc++
-ln `pwd`/$(TARG) `pwd`/$(APP)/Sci
-$(BLD):
- -mkdir build
+$(FRM_BLD):
-mkdir $(BLD)
-
-clean:
- -rm -rf $(BLD)
-
-$(BLD)/%.o : ../src/%.cxx
- $(CCX) -c ../src/$< -o $@
-
-$(BLD)/%.o : %.mm
- $(CCO) -c $< -o $@
+ -mkdir $(FRM_BLD)
### get around to filling out the real dependencies later ###
-$(BLD)/AutoComplete.o : ../src/AutoComplete.cxx ../src/AutoComplete.h ../include/Platform.h
+#$(FRM_BLD)/AutoComplete.o : ../src/AutoComplete.cxx ../src/AutoComplete.h \
+# ../include/Platform.h
-$(BLD)/CallTip.o : ../src/CallTip.cxx ../src/CallTip.h ../include/Platform.h
+#$(FRM_BLD)/CallTip.o : ../src/CallTip.cxx ../src/CallTip.h \
+# ../include/Platform.h
### end targets ### \ No newline at end of file
diff --git a/cocoa/SciTest.mk b/cocoa/SciTest.mk
index cd922e1b5..1cd075307 100644
--- a/cocoa/SciTest.mk
+++ b/cocoa/SciTest.mk
@@ -1,25 +1,14 @@
### start defines ###
-NAME=Editor
+include common.mk
-ARCH=-arch i386
-CC=gcc -x c++ $(ARCH)
-CO=gcc -x objective-c++ $(ARCH)
-LD=gcc $(ARCH) -framework Cocoa
-
-gDEFs=-DSCI_NAMESPACE -DSCI_LEXER
+NAME=Demo
-INCS=-I../src/ -I../include/ -I.
-CCX=$(CC) $(gDEFs) $(INCS)
-CCO=$(CO) $(gDEFs) $(INCS)
+LD=gcc $(ARCH) -framework Cocoa
-BLD=build/SciAppBuild
TARG=$(APP)/Contents/MacOS/$(NAME)
-APP=$(BLD)/$(NAME).app
-
-all: $(BLD) $(TARG)
+APP=$(APP_BLD)/$(NAME).app
-clean:
- -rm -rf $(BLD)
+all: $(APP_BLD) $(TARG)
$(APP):
-rm -rf $(APP)
@@ -38,17 +27,10 @@ $(APP):
-cp ScintillaTest/TestData.sql $(APP)/Contents/Resources/
-make -f Framework.mk all
-$(TARG) : $(BLD)/main.o $(BLD)/AppController.o $(APP)
- -cp -R build/framebuild/Sci.framework $(APP)/Contents/Frameworks/
- $(LD) $(BLD)/main.o $(BLD)/AppController.o $(APP)/Contents/Frameworks/Sci.framework/Sci -o $(TARG) -lstdc++
+$(TARG) : $(APP_BLD)/main.o $(APP_BLD)/AppController.o $(APP)
+ -cp -R $(FRM_BLD)/Sci.framework $(APP)/Contents/Frameworks/
+ $(LD) $(APP_BLD)/main.o $(APP_BLD)/AppController.o $(APP)/Contents/Frameworks/Sci.framework/Sci -o $(TARG) -lstdc++
-
-$(BLD) :
- -mkdir build
+$(APP_BLD) :
-mkdir $(BLD)
-
-$(BLD)/%.o : ScintillaTest/%.mm
- $(CCO) -c $< -o $@
-
-$(BLD)/%.o : ScintillaTest/%.m
- $(CCO) -c $< -o $@
+ -mkdir $(APP_BLD)
diff --git a/cocoa/common.mk b/cocoa/common.mk
new file mode 100644
index 000000000..beb3b0f46
--- /dev/null
+++ b/cocoa/common.mk
@@ -0,0 +1,57 @@
+### shared variables and targets between Framework.mk and SciTest.mk ###
+
+# build directories
+BLD=build
+APP_BLD=$(BLD)/Application
+FRM_BLD=$(BLD)/Framework
+
+ifdef DBG
+CFLAGS=-g -O0
+else
+CFLAGS=-Os
+endif
+
+# compiler and compiler options
+ARCH=-arch i386 $(CFLAGS)
+CC=gcc -x c++ $(ARCH)
+CO=gcc -x objective-c++ $(ARCH)
+CCX=$(CC) $(gDEFs) $(INCS)
+CCO=$(CO) $(gDEFs) $(INCS)
+
+# include directories and global #define
+gDEFs=-DSCI_NAMESPACE -DSCI_LEXER
+
+# source directories
+SRC_DIRS=../src ./ScintillaFramework ./ScintillaTest ./ \
+ ../lexers ../lexlib
+
+INC_DIRS=$(SRC_DIRS) ../include
+
+INCS=$(addprefix -I,$(INC_DIRS))
+
+vpath %.m $(SRC_DIRS)
+vpath %.mm $(SRC_DIRS)
+vpath %.cpp $(SRC_DIRS)
+vpath %.cxx $(SRC_DIRS)
+vpath %.c $(SRC_DIRS)
+vpath %.h $(INC_DIRS)
+
+# clean everything
+clean:
+ -rm -rf $(BLD)
+
+# build application objective-c++ files
+$(APP_BLD)/%.o : %.mm
+ $(CCO) -c $< -o $@
+
+# build application objective-c files
+$(APP_BLD)/%.o : %.m
+ $(CCO) -c $< -o $@
+
+# build framework c++ files
+$(FRM_BLD)/%.o : %.cxx
+ $(CCX) -c $< -o $@
+
+# build framework objective-c++ files
+$(FRM_BLD)/%.o : %.mm
+ $(CCO) -c $< -o $@ \ No newline at end of file