1#!/usr/bin/env omake
2#----------------------------------------------------------------------------
3# Project:  NintendoWare
4# File:     OMakefile
5#
6# Copyright (C)2009-2010 Nintendo Co., Ltd./HAL Laboratory, Inc.  All rights reserved.
7#
8# These coded instructions, statements, and computer programs contain
9# proprietary information of Nintendo of America Inc. and/or Nintendo
10# Company Ltd., and are protected by Federal copyright law.  They may
11# not be disclosed to third parties or copied or duplicated in any form,
12# in whole or in part, without the prior written consent of Nintendo.
13#
14# $Revision:$
15#----------------------------------------------------------------------------
16
17# �lj����郉�C�u����
18NW_LIBRARIES += libnw_demo snd_demolib
19
20# �C���N���[�h�p�X
21INCLUDES     += ../demolib/include
22
23
24#
25# �T�E���h�f�[�^�̐���
26#
27SOUNDPROJECT_CONVERTER = $(NW4C_ROOT)/tools/SoundMaker/NW4C_SoundProjectConverter.exe
28SAMPLEDATA_DIR         = $(NW4C_ROOT)/SampleData/Sound/Projects
29WAVE_CONVERTER         = $(CTRSDK_ROOT)/tools/CommandLineTools/ctr_WaveConverter32.exe
30
31public.GetBcsar(outdir, projectDir) =
32    PROJECT_DIR = $(SAMPLEDATA_DIR)/$(projectDir)
33    SARC_PATH = $(outdir)/$(projectDir).bcsar
34    SOUNDMAKER_PROJECT_FILES[] = $(PROJECT_DIR)/$(projectDir).cspj $(PROJECT_DIR)/$(projectDir).csst
35    $(SARC_PATH): $(SOUNDMAKER_PROJECT_FILES) $(SOUNDPROJECT_CONVERTER) :effects: $(PROJECT_DIR)/output/$(projectDir).bcsar
36        $(SOUNDPROJECT_CONVERTER) $(PROJECT_DIR)/$(projectDir).cspj --silent
37        mkdir -p $(outdir)
38        cp $(PROJECT_DIR)/output/$(projectDir).csid $(outdir)/../sources
39        cp $(PROJECT_DIR)/output/$(projectDir).bcsar $@
40    RequireSetup($(SARC_PATH))
41    return $(SARC_PATH)
42
43public.GetBcsarWithCache(outdir, projectDir, cache) =
44    PROJECT_DIR = $(SAMPLEDATA_DIR)/$(projectDir)
45    SARC_PATH = $(outdir)/$(projectDir).bcsar
46    SOUNDMAKER_PROJECT_FILES[] = $(PROJECT_DIR)/$(projectDir).cspj $(PROJECT_DIR)/$(projectDir).csst
47    $(SARC_PATH): $(SOUNDMAKER_PROJECT_FILES) $(SOUNDPROJECT_CONVERTER) :effects: $(PROJECT_DIR)/output/$(projectDir).bcsar
48        $(SOUNDPROJECT_CONVERTER) $(PROJECT_DIR)/$(projectDir).cspj --silent
49        mkdir -p $(outdir)
50        cp $(PROJECT_DIR)/output/$(projectDir).csid $(outdir)/../sources
51        cp $(PROJECT_DIR)/output/$(projectDir).bcsar $@
52        cp $(PROJECT_DIR)/cache/$(cache) $(outdir)
53    RequireSetup($(SARC_PATH))
54    return $(SARC_PATH)
55
56public.GetBcsarStream(outdir, projectDir) =
57    PROJECT_DIR = $(SAMPLEDATA_DIR)/$(projectDir)
58    SARC_PATH = $(outdir)/$(projectDir).bcsar
59    SOUNDMAKER_PROJECT_FILES[] = $(PROJECT_DIR)/$(projectDir).cspj $(PROJECT_DIR)/$(projectDir).csst
60    $(SARC_PATH): $(SOUNDMAKER_PROJECT_FILES) $(SOUNDPROJECT_CONVERTER) :effects: $(PROJECT_DIR)/output/$(projectDir).bcsar
61        $(SOUNDPROJECT_CONVERTER) $(PROJECT_DIR)/$(projectDir).cspj --silent
62        mkdir -p $(outdir)/stream
63        cp $(PROJECT_DIR)/output/$(projectDir).csid $(outdir)/../sources
64        cp $(PROJECT_DIR)/output/$(projectDir).bcsar $@
65        cp $(PROJECT_DIR)/output/stream/*.bcstm $(dirname $@)/stream
66    RequireSetup($(SARC_PATH))
67    return $(SARC_PATH)
68
69public.GetBcsarStreamNoCsid(outdir, projectDir) =
70    PROJECT_DIR = $(SAMPLEDATA_DIR)/$(projectDir)
71    SARC_PATH = $(outdir)/$(projectDir).bcsar
72    SOUNDMAKER_PROJECT_FILES[] = $(PROJECT_DIR)/$(projectDir).cspj $(PROJECT_DIR)/$(projectDir).csst
73    $(SARC_PATH): $(SOUNDMAKER_PROJECT_FILES) $(SOUNDPROJECT_CONVERTER) :effects: $(PROJECT_DIR)/output/$(projectDir).bcsar
74        $(SOUNDPROJECT_CONVERTER) $(PROJECT_DIR)/$(projectDir).cspj --silent
75        mkdir -p $(outdir)/stream
76        cp $(PROJECT_DIR)/output/$(projectDir).bcsar $@
77        cp $(PROJECT_DIR)/output/stream/*.bcstm $(dirname $@)/stream
78    return $(SARC_PATH)
79
80public.GetSinBcwav(outdir) =
81    PROJECT_DIR = $(SAMPLEDATA_DIR)/withSdk
82    IN_WAVE_PATH = $(PROJECT_DIR)/sin440.aiff
83    OUT_BCWAV_PATH = $(outdir)/sin440.dspadpcm.bcwav
84    $(OUT_BCWAV_PATH): $(IN_WAVE_PATH) $(WAVE_CONVERTER)
85        $(WAVE_CONVERTER) --dspadpcm $(IN_WAVE_PATH) -o $(OUT_BCWAV_PATH)
86    return $(OUT_BCWAV_PATH)
87
88
89#
90# �V�F�[�_�[�t�@�C���̃R�s�[
91#
92SHADER_FILE = nwfont_RectDrawerShader.shbin
93
94public.GetShaderFile(outdir) =
95    SHADER_PATH = $(outdir)/$(SHADER_FILE)
96    $(SHADER_PATH): $(NW4C_ROOT)/shaders/$(SHADER_FILE)
97        mkdir -p $(outdir)
98        cp $< $@
99    return $(SHADER_PATH)
100
101#
102# �r���h�Ώۃf�B���N�g��
103#
104.SUBDIRS: \
105    demolib             \
106    simple              \
107    externalFile        \
108    memorySoundArchive  \
109    originalSoundHeap   \
110    playerHeap          \
111    labelString         \
112    holdSound           \
113    soundActor          \
114    sound3d             \
115    withSdk             \
116    createSoundThreadManually \
117    effect              \
118    filter              \
119    hioSoundArchive
120
121DefineDefaultRules()
122