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