################################################################################# # FILE: # Makefile.unix # # DESCRIPTION: # 各プロジェクトに対して, 必要に応じて RunSwig を実行させる makefile. # # RunSwig 実行のための手順: # # 処理概要: # このファイルを make するにあたり, 各プロジェクトに対して予め次の # 処理を施しておく. # compile ⇒ makefile.swig がなければ生成する. # recompile ⇒ makefile.swig を削除した後, 新たに生成する. # clean ⇒ makefile.swig を削除する. # 実際の処理は, make_manager.py に次の引数を与えることで実現する. # compile ⇒ python make_manager.py -A -c # recompile ⇒ python make_manager.py -A -d -c # clean ⇒ python make_manager.py -A -d # # 各プロジェクトに対して, make -f makefile.swig を実行する. # この処理は, この makefile で実現する. # ################################################################################# # Version: # Ver 1.0 2017/04/20 F.Kanehori Windows 版を unix 用に修正 # Ver 1.1 2017/08/23 F.Kanehori Springhead tree 再構成に対応. # Ver 1.2 2017/10/05 F.Kanehori オプション PYTHON を子 make に渡す. # Ver 1.21 2017/10/11 F.Kanehori Trace info 追加. # Ver 1.22 2017/10/25 F.Kanehori 使用する python の取得方法を変更. ################################################################################# eq = $(and $(findstring $(1)X,$(2)X), $findstring $(2)X,$(1)X) opt = $(if $(call eq,$(1),),$(if $(call eq,$(2),),$(3),$(2)),$(1)) # 使用する Python (make のマクロで指定可能) # Python = $(call opt,$(PYTHON),$(SPR_PYTHON),python) # ディレクトリの定義 # BINDIR = . INCDIR = ../../include FOUNDATION = ../Foundation FRAMEWORK = ../Framework # 使用するスクリプト # SCILABSWIG = $(Python) ScilabSwig.py RUNSWIGFW = $(Python) RunSwigFramework.py SCRIPT = do_swigall.py # 前処理で作成するファイル # SCILABSTUBHDR = $(INCDIR)/ScilabStub.hpp FWOLDSPRSTUB = $(FRAMEWORK)/FWOldSpringheadStub.cpp all: PreWork RunSwig PreWork: $(SCILABSTUBHDR) $(FWOLDSPRSTUB) $(SCILABSTUBHDR): echo target: SCILABSTUBHDR cd $(FOUNDATION) && $(SCILABSWIG) $(FWOLDSPRSTUB): echo target: FWOLDSPRSTUB cd $(FRAMEWORK) && $(RUNSWIGFW) -P $(Python) RunSwig: echo target: RunSwig $(Python) $(BINDIR)/$(SCRIPT) -P $(Python) clean: echo target: clean $(Python) $(BINDIR)/$(SCRIPT) --clean /bin/rm -f $(SCILABSTUBHDR) /bin/rm -f $(FWOLDSPRSTUB)