mirror of
https://github.com/pmret/papermario.git
synced 2024-11-09 12:32:38 +01:00
refactor include_asm (#201)
This commit is contained in:
parent
b7a2673672
commit
a923a3f1b8
19
include/include_asm.h
Normal file
19
include/include_asm.h
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#ifndef __INCLUDE_ASM_H__
|
||||||
|
#define __INCLUDE_ASM_H__
|
||||||
|
|
||||||
|
#define STRINGIFY_(x) #x
|
||||||
|
#define STRINGIFY(x) STRINGIFY_(x)
|
||||||
|
|
||||||
|
#if !defined(SPLAT) && !defined(__CTX__)
|
||||||
|
#ifndef INCLUDE_ASM
|
||||||
|
#define INCLUDE_ASM(TYPE, FOLDER, NAME, ARGS...) \
|
||||||
|
TYPE NAME(ARGS); \
|
||||||
|
TYPE __attribute__((naked)) NAME(ARGS) { __asm__( ".include \"ver/"STRINGIFY(VERSION)"/asm/nonmatchings/"FOLDER"/"#NAME".s\"\n.set reorder\n.set at"); }
|
||||||
|
#endif
|
||||||
|
__asm__( ".include \"include/macro.inc\"\n");
|
||||||
|
#else
|
||||||
|
#define INCLUDE_ASM(TYPE, FOLDER, NAME, ARGS...)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
@ -2,18 +2,7 @@
|
|||||||
#define _MACROS_H_
|
#define _MACROS_H_
|
||||||
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
#include "include_asm.h"
|
||||||
#define STRINGIFY_(x) #x
|
|
||||||
#define STRINGIFY(x) STRINGIFY_(x)
|
|
||||||
|
|
||||||
#ifndef SPLAT
|
|
||||||
#ifndef INCLUDE_ASM
|
|
||||||
#define INCLUDE_ASM(TYPE, FOLDER, NAME, ARGS...) \
|
|
||||||
TYPE __attribute__((naked)) NAME(ARGS) { __asm__( ".include \"include/macro.inc\"\n.include \"ver/"STRINGIFY(VERSION)"/asm/nonmatchings/"FOLDER"/"#NAME".s\"\n.set reorder\n.set at"); }
|
|
||||||
#endif
|
|
||||||
#else
|
|
||||||
#define INCLUDE_ASM(TYPE, FOLDER, NAME, ARGS...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define ALIGN16(val) (((val) + 0xF) & ~0xF)
|
#define ALIGN16(val) (((val) + 0xF) & ~0xF)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user