1#!/usr/bin/env omake 2#---------------------------------------------------------------------------- 3# Project: Horizon 4# File: commondefs.gl.om 5# 6# Copyright 2007-2009 Nintendo. 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# $Date:: 2010-06-01#$ 15# $Rev: 17243 $ 16# $Author: hatamoto_minoru $ 17#---------------------------------------------------------------------------- 18 19# �A�Z���u���E�����J�̒�` 20public.VSASM = $(ROOT_COMMANDS)$(DIRSEP)ctr_VertexShaderAssembler32.exe 21public.VSLD = $(ROOT_COMMANDS)$(DIRSEP)ctr_VertexShaderLinker32.exe 22 23# �r���h�ς݃V�F�[�_���i�[����Ă���f�B���N�g�� 24public.SHADER_PREBUILT_ROOT = $(ROOT_RESOURCES)$(DIRSEP)shaders 25 26# �A�Z���u���E�����J�� -I �œn�����C���N���[�h�f�B���N�g�� 27public.SHADER_INCLUDES = $(SHADER_PREBUILT_ROOT) 28 29# �C���N���[�h�f�B���N�g�����w�肷��R�}���h���C�����i�x���]���j 30public.PREFIXED_SHADER_INCLUDES = $`(addprefix -I, $(set $(absname $(SHADER_INCLUDES)))) 31 32# �g���q�̒�` 33EXT_VSASM = .vsh 34EXT_VSOBJ = .obj 35EXT_VSBIN = .shbin 36 37# .obj/.shbin �̊i�[���Ԃ��e�f�B���N�g���̐������[�����`���� 38getShaderObjectDirectory() = 39 return $(makeDirectory $(getObjectBaseDirectory)$(DIRSEP)CTR.Shader) 40 41# .obj �t�@�C�������� 42# sourcefiles - .vsh �t�@�C���i�����j 43VertexShaderObjects(sourcefiles) = 44 # .obj ���i�[����f�B���N�g�������߂� 45 obj_dir_parent = $(getShaderObjectDirectory) 46 47 OFILES = 48 export OFILES 49 # .vsh �t�@�C������ɑ��ă��[�����` 50 foreach(sourcefile, $(sourcefiles)) 51 # �o�͂���t�@�C�������t���p�X�ŋ��߂� 52 OFILE = $(file $(obj_dir_parent)/$(basename $(removesuffix $(sourcefile)))$(EXT_VSOBJ)) 53 54 # �Ԓl�ɒlj� 55 OFILES += $(OFILE) 56 57 # �A�Z���u���̃��[�����` (�x�����G���[���Ȃ��ꍇ�� grep �ŏo�͂��J�b�g) 58 # �f�B���N�g���ɂ��ˑ������Ď������� 59 $(OFILE): $(sourcefile) $(obj_dir_parent) $(VSASM) 60 $(VSASM) $< $(PREFIXED_SHADER_INCLUDES) -O$@ | grep -v '^.*finished - 0 error, 0 warning' 61 62 # �N���[���̃��[�����` 63 clean: 64 rm -rf $(obj_dir_parent) 65 66 return $(OFILES) 67 68# .shbin �t�@�C�������� 69# name - .shbin �̖��O�i�g���q�����j 70# sourcefiles - OMakefile �Ő������ꂽ .obj �t�@�C�� 71# sourcefiles_pre - resources �ȉ��ɂ���r���h�ς� .obj �t�@�C�� 72VertexShaderBinary(name, sourcefiles, sourcefiles_pre) = 73 # .obj ���i�[����f�B���N�g�������߂� 74 obj_dir_parent = $(getShaderObjectDirectory) 75 76 # �ˑ��W��������� sourcefiles_pre ���t���p�X�ɕϊ�����B 77 # (-I �ɗ���ƁA�r���h�ς� .obj ���X�V���ꂽ�Ƃ��ɍăr���h����Ȃ��B) 78 sourcefiles_pre = $(addprefix $(SHADER_PREBUILT_ROOT)$(DIRSEP), $(sourcefiles_pre)) 79 80 # �o�͂���t�@�C�������t���p�X�ŋ��߂� 81 OFILE = $(file $(obj_dir_parent)/$(basename $(name))$(EXT_VSBIN)) 82 83 # �����N�̃��[�����` (�x�����G���[���Ȃ��ꍇ�� grep �ŏo�͂��J�b�g) 84 $(OFILE): $(sourcefiles) $(sourcefiles_pre) $(obj_dir_parent) $(VSLD) 85 $(VSLD) $(sourcefiles) $(sourcefiles_pre) $(PREFIXED_SHADER_INCLUDES) -M -nodebug -O$@ | grep -v '^.*finished - 0 error, 0 warning' 86 87 if $(not $(defined SHBIN_INSTALL_ROOT)) 88 if $(defined ROMFS_ROOT) 89 SHBIN_INSTALL_ROOT = $(ROMFS_ROOT) 90 export 91 export 92 93 # SHBIN_INSTALL_ROOT ����`����Ă���ꍇ�� SHBIN_INSTALL_ROOT �ȉ��Ƀo�C�i�����R�s�[ 94 if $(and $(defined SHBIN_INSTALL_ROOT), $(SHBIN_INSTALL_ROOT)) 95 96 # �C���X�g�[����̃t�@�C���������߂� 97 OFILE_INSTALL = $(SHBIN_INSTALL_ROOT)$(DIRSEP)$(basename $(OFILE)) 98 99 # �C���X�g�[����ւ̊i�[ 100 $(OFILE_INSTALL): $(OFILE) $(SHBIN_INSTALL_ROOT) 101 ln-or-cp $< $@ 102 # �C���X�g�[����̃f�B���N�g�����쐬���� 103 $(SHBIN_INSTALL_ROOT): 104 mkdir -p $@ 105 #�N���[���̃��[�����` 106 clean: 107 rm -f $(OFILE_INSTALL) 108 109 110 # ROMFS ���̃t�@�C���� MAKEROM �O�ɏ�������K�v������ 111 build-romfs: $(OFILE_INSTALL) 112 113 # �N���[���̃��[�����` 114 clean: 115 rm -rf $(obj_dir_parent) 116 117 # objects ���ɐ����������̃o�C�i������ɕԂ� 118 return $(OFILE) 119