diff options
Diffstat (limited to 'cocoa')
-rw-r--r-- | cocoa/Framework.mk | 85 | ||||
-rw-r--r-- | cocoa/SciTest.mk | 38 | ||||
-rw-r--r-- | cocoa/common.mk | 57 |
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 |