#!/usr/bin/env omake #---------------------------------------------------------------------------- # Project: NintendoWare # File: OMakefile # # Copyright (C)2009-2011 Nintendo/HAL Laboratory, Inc. All rights reserved. # # These coded instructions, statements, and computer programs contain proprietary # information of Nintendo and/or its licensed developers and are protected by # national and international copyright laws. They may not be disclosed to third # parties or copied or duplicated in any form, in whole or in part, without the # prior written consent of Nintendo. # # The content herein is highly confidential and should be handled accordingly. # # $Revision: $ #---------------------------------------------------------------------------- # Gfxのコンバータ、アーカイバ BINARY_CONVERTER = $(NW4C_ROOT)/tools/CreativeStudio/NW4C_CreativeStudioConsole.exe public.GfxBinaryObject(ofile, files, option) = $(ofile): $(files) $(BINARY_CONVERTER) mkdir -p $(dirname $@) $(BINARY_CONVERTER) $(filter-out %.exe, $^) --verbose -o=$@ $(option) return $(ofile) # レイアウトのコンバータ、アーカイバ NW4C_LAYOUT_CONVERTER = $(NW4C_ROOT)/tools/LayoutEditor/Converter/NW4C_LayoutConverter.exe NW4C_LAYOUT_ARCHIVER = $(NW4C_ROOT)/tools/LayoutEditor/Converter/NW4C_LayoutArchiver.exe public.LayoutBinaryConvert(outfile, outdir, sources) = $(outfile): $(sources) rm -rf $(outdir) mkdir -p $(outdir) $(NW4C_LAYOUT_CONVERTER) -g $(sources) $(outdir) $(NW4C_LAYOUT_ARCHIVER) -c $(outfile) -a 128 -f $(outdir) ./blyt ./anim ./timg return $(outfile) public.LayoutBinaryConvertNonAnim(outfile, outdir, sources) = $(outfile): $(sources) rm -rf $(outdir) mkdir -p $(outdir) $(NW4C_LAYOUT_CONVERTER) -g $(sources) $(outdir) $(NW4C_LAYOUT_ARCHIVER) -c $(outfile) -a 128 -f $(outdir) ./blyt ./timg return $(outfile) # プロセスがサポートするターゲットを記述します。 # システム名は必ず Process になるはずです。 SUPPORTED_TARGETS = CTR-*.Process.MPCore.* ROMFS_ROOT = romfiles TARGET_PROGRAM = Nw4cDemo # Gfxリソースのコンバートを行います。 # バイナリコンバートのオプションを指定します。 MODEL_OPTION = --auto_create_shader=on # ピエロ PIERROT_SET_NAME = ToyPierrot.bcmdl PIERROT_SET[] = $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyPierrot\ToyPierrot.cmdl $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyPierrot\ToyPierrotAnimDance.cskla $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyPierrot\ToyPierrotAnimDance.cmata $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyPierrot\ToyPierrotAll.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyPierrot\ToyPierrotAllNmap.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyPierrot\ToyPierrotEye.0.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyPierrot\ToyPierrotEye.1.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyPierrot\ToyPierrotEye.2.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyPierrot\ToyPierrotStickRed.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyCommon\ToyRoomCube.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyCommon\ToyAllLut.clts PIERROT_TARGET = $(GfxBinaryObject $(ROMFS_ROOT)/$(PIERROT_SET_NAME), $(PIERROT_SET), $(MODEL_OPTION)) # バックダンサーピエロ BACK_DANCER_PIERROT_SET_NAME = ToyPierrotBackDancer.bcmdl BACK_DANCER_PIERROT_SET[] = $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyPierrot\ToyPierrotBackDancer.cmdl $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyPierrot\ToyPierrotBackDancerAnimDance.cskla $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyPierrot\ToyPierrotAnimDance.cmata $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyPierrot\ToyPierrotAllNmap.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyPierrot\ToyPierrotBackDancerAll.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyPierrot\ToyPierrotEye.0.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyPierrot\ToyPierrotEye.1.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyPierrot\ToyPierrotEye.2.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyPierrot\ToyPierrotStickRed.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyCommon\ToyRoomCube.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyCommon\ToyAllLut.clts BACK_DANCER_PIERROT_TARGET = $(GfxBinaryObject $(ROMFS_ROOT)/$(BACK_DANCER_PIERROT_SET_NAME), $(BACK_DANCER_PIERROT_SET), $(MODEL_OPTION)) # ロボット ROBOT_SET_NAME = ToyRobot.bcmdl ROBOT_SET[] = $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyRobot\ToyRobot.cmdl $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyRobot\ToyRobotAnimDance.cskla $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyRobot\ToyRobot.cmata $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyRobot\ToyRobotAll.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyRobot\ToyRobotGear.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyCommon\ToyRoomCube.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyCommon\ToyAllLut.clts ROBOT_TARGET = $(GfxBinaryObject $(ROMFS_ROOT)/$(ROBOT_SET_NAME), $(ROBOT_SET), $(MODEL_OPTION)) # バックダンサーロボット BACK_DANCER_ROBOT_SET_NAME = ToyRobotBackDancer.bcmdl BACK_DANCER_ROBOT_SET[] = $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyRobot\ToyRobotBackDancer.cmdl $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyRobot\ToyRobotBackDancerAnimDance.cskla $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyRobot\ToyRobot.cmata $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyRobot\ToyRobotBackDancerAll.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyRobot\ToyRobotGear.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyCommon\ToyRoomCube.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyCommon\ToyAllLut.clts BACK_DANCER_ROBOT_TARGET = $(GfxBinaryObject $(ROMFS_ROOT)/$(BACK_DANCER_ROBOT_SET_NAME), $(BACK_DANCER_ROBOT_SET), $(MODEL_OPTION)) # ステージ STAGE_SET_NAME = ToyStageMatFix.bcmdl STAGE_SET[] = $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyStage\ToyStageMatFix.cmdl $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyStage\ToyStageMatFix.cskla $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyStage\ToyStageMatFix.cmata $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyStage\ToyStageCarpet.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyStage\ToyStageConfetti.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyStage\ToyStageCurtain.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyStage\ToyStageParts01.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyStage\ToyStageParts02.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyStage\ToyStageParts03.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyStage\ToyStageRibbon.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyStage\ToyStageWood01.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyStage\ToyStageWood02.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyStage\ToyTentBlock.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyStage\ToyTentSpiralA.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyStage\ToyTentWall.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyStage\ToyTentWave.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyStage\ToyTentWood.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyStage\ToyTentSpiralA.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyCommon\ToyRoomCube.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyCommon\ToyAllLut.clts STAGE_TARGET = $(GfxBinaryObject $(ROMFS_ROOT)/$(STAGE_SET_NAME), $(STAGE_SET), $(MODEL_OPTION)) # ステージオブジェクト STAGE_OBJECT_SET_NAME = ToyStageObj.bcmdl STAGE_OBJECT_SET[] = $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyStage\ToyStageObj.cmdl $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyStage\ToyStageObj.cskla $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyStage\ToyStageBilliard.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyStage\ToyStageScreen.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyStage\ToyStageRocketMoon.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyStage\ToyStageRocketMoonNmap.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyCommon\ToyRoomCube.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyCommon\ToyAllLut.clts STAGE_OBJECT_TARGET = $(GfxBinaryObject $(ROMFS_ROOT)/$(STAGE_OBJECT_SET_NAME), $(STAGE_OBJECT_SET), $(MODEL_OPTION)) # 観客 AUDIENCE_SET_NAME = ToyAudience.bcmdl AUDIENCE_SET[] = $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyAudience\ToyAudience.cmdl $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyAudience\ToyAudience.cskla $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyAudience\ToyAudienceAll.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyAudience\ToyAudienceMask.ctex $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyCommon\ToyAllLut.clts AUDIENCE_TARGET = $(GfxBinaryObject $(ROMFS_ROOT)/$(AUDIENCE_SET_NAME), $(AUDIENCE_SET), $(MODEL_OPTION)) # 天球 TOYBG_SET_NAME = ToyBg.bcmdl TOYBG_SET[] = $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyCommon\ToyBg.cmdl $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyCommon\ToyAllLut.clts TOYBG_TARGET = $(GfxBinaryObject $(ROMFS_ROOT)/$(TOYBG_SET_NAME), $(TOYBG_SET), $(MODEL_OPTION)) # パーティクル PARTICLE_SET_NAME = ToyParticle.bcres PARTICLE_SET[] = $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyParticle\ToyParticle.cres PARTICLE_TARGET = $(GfxBinaryObject $(ROMFS_ROOT)/$(PARTICLE_SET_NAME), $(PARTICLE_SET), $(MODEL_OPTION)) # ライト LIGHT_SET_NAME = ToyMrnRbtLight.bcenv LIGHT_SET[] = $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyCommon\ToyMrnRbtLight.cenv $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyCommon\ToyAllLut.clts LIGHT_TARGET = $(GfxBinaryObject $(ROMFS_ROOT)/$(LIGHT_SET_NAME), $(LIGHT_SET), $(MODEL_OPTION)) # カメラ CAMERA_SET_NAME = ToyCamAni.bccam CAMERA_SET[] = $(NW4C_ROOT)/SampleData\Nw4cDemo\ToyCamera\ToyCamAni.ccam CAMERA_TARGET = $(GfxBinaryObject $(ROMFS_ROOT)/$(CAMERA_SET_NAME), $(CAMERA_SET), $(MODEL_OPTION)) # レイアウトリソースのコンバート、アーカイブ化を行います。 # メイン LYT_MAIN_ARV = ./romfiles/LayoutMain.arc LYT_MAIN_OUT = ./resource/LayoutMain LYT_MAIN_SET[] = $(NW4C_ROOT)/SampleData\Nw4cDemo\LayoutDB\LayoutMain\Main.clyt $(NW4C_ROOT)/SampleData\Nw4cDemo\LayoutDB\LayoutMain\Main.clan LYT_MAIN_TARGET = $(LayoutBinaryConvert $(LYT_MAIN_ARV), $(LYT_MAIN_OUT), $(LYT_MAIN_SET)) # スライダー LYT_SLIDER_ARV = ./romfiles/LayoutSlider.arc LYT_SLIDER_OUT = ./resource/LayoutSlider LYT_SLIDER_SET[] = $(NW4C_ROOT)/SampleData\Nw4cDemo\LayoutDB\LayoutSlider\Slider.clyt LYT_SLIDER_TARGET = $(LayoutBinaryConvertNonAnim $(LYT_SLIDER_ARV), $(LYT_SLIDER_OUT), $(LYT_SLIDER_SET)) # ピエロボタン LYT_PIERROT_ARV = ./romfiles/LayoutPierrotButton.arc LYT_PIERROT_OUT = ./resource/LayoutPierrotButton LYT_PIERROT_SET[] = $(NW4C_ROOT)/SampleData\Nw4cDemo\LayoutDB\LayoutPierrotButton/Button.clyt $(NW4C_ROOT)/SampleData\Nw4cDemo\LayoutDB\LayoutPierrotButton/Button.clan LYT_PIERROT_TARGET = $(LayoutBinaryConvert $(LYT_PIERROT_ARV), $(LYT_PIERROT_OUT), $(LYT_PIERROT_SET)) # ロボットボタン LYT_ROBOT_ARV = ./romfiles/LayoutRobotButton.arc LYT_ROBOT_OUT = ./resource/LayoutRobotButton LYT_ROBOT_SET[] = $(NW4C_ROOT)/SampleData\Nw4cDemo\LayoutDB\LayoutRobotButton/Button.clyt $(NW4C_ROOT)/SampleData\Nw4cDemo\LayoutDB\LayoutRobotButton/Button.clan LYT_ROBOT_TARGET = $(LayoutBinaryConvert $(LYT_ROBOT_ARV), $(LYT_ROBOT_OUT), $(LYT_ROBOT_SET)) # ステージボタン LYT_STAGE_ARV = ./romfiles/LayoutStageButton.arc LYT_STAGE_OUT = ./resource/LayoutStageButton LYT_STAGE_SET[] = $(NW4C_ROOT)/SampleData\Nw4cDemo\LayoutDB\LayoutStageButton/Button.clyt $(NW4C_ROOT)/SampleData\Nw4cDemo\LayoutDB\LayoutStageButton/Button.clan LYT_STAGE_TARGET = $(LayoutBinaryConvert $(LYT_STAGE_ARV), $(LYT_STAGE_OUT), $(LYT_STAGE_SET)) # 観客ボタン LYT_AUDIENCE_ARV = ./romfiles/LayoutAudienceButton.arc LYT_AUDIENCE_OUT = ./resource/LayoutAudienceButton LYT_AUDIENCE_SET[] = $(NW4C_ROOT)/SampleData\Nw4cDemo\LayoutDB\LayoutAudienceButton/Button.clyt $(NW4C_ROOT)/SampleData\Nw4cDemo\LayoutDB\LayoutAudienceButton/Button.clan LYT_AUDIENCE_TARGET = $(LayoutBinaryConvert $(LYT_AUDIENCE_ARV), $(LYT_AUDIENCE_OUT), $(LYT_AUDIENCE_SET)) # パーティクルボタン LYT_PARTICLE_ARV = ./romfiles/LayoutParticleButton.arc LYT_PARTICLE_OUT = ./resource/LayoutParticleButton LYT_PARTICLE_SET[] = $(NW4C_ROOT)/SampleData\Nw4cDemo\LayoutDB\LayoutParticleButton/Button.clyt $(NW4C_ROOT)/SampleData\Nw4cDemo\LayoutDB\LayoutParticleButton/Button.clan LYT_PARTICLE_TARGET = $(LayoutBinaryConvert $(LYT_PARTICLE_ARV), $(LYT_PARTICLE_OUT), $(LYT_PARTICLE_SET)) ROMFS_DEPENDENCIES = $(PIERROT_TARGET) $(BACK_DANCER_PIERROT_TARGET) $(ROBOT_TARGET) $(BACK_DANCER_ROBOT_TARGET) $(STAGE_TARGET) $(STAGE_OBJECT_TARGET) $(AUDIENCE_TARGET) $(TOYBG_TARGET) $(PARTICLE_TARGET) $(LIGHT_TARGET) $(CAMERA_TARGET) $(LYT_MAIN_TARGET) $(LYT_SLIDER_TARGET) $(LYT_PIERROT_TARGET) $(LYT_ROBOT_TARGET) $(LYT_STAGE_TARGET) $(LYT_AUDIENCE_TARGET) $(LYT_PARTICLE_TARGET) # ビルドするソースファイル SOURCES[] = sources/main.cpp sources/demo.cpp sources/GfxCtrl.cpp sources/LytCtrl.cpp sources/SmPerf.cpp sources/SmModel.cpp sources/SmPrimitive.cpp sources/SmButton.cpp sources/SmTouchPanelCamera.cpp sources/SmCamera.cpp sources/SmLayout.cpp sources/SmLytButton.cpp sources/SmRenderSystem.cpp sources/SmSceneCtrl.cpp sources/SmCommandUtility.cpp sources/SmBase.cpp sources/SmLytSliderBar.cpp sources/SmInitialFileParser.cpp sources/SmParticle.cpp SHADER_SOURCES[] = sources/shader/nw4cDemo.vsh # 追加するライブラリ NW_LIBRARIES += libnw_demo CCFLAGS += -DNN_SWITCH_ENABLE_HOST_IO LIBS += libnn_math libnn_ulcd libnn_gr include $(NW4C_ROOT)/build/omake/modulerules build: $(DEFAULT_TARGETS)