#
# nono
# Copyright (C) 2021 nono project
# Licensed under nono-license.txt
#

.if "${MACHINE_ARCH}" == "m88k"
#
# For m88k
#

CC=	cc -g
CFLAGS=	-pipe -Werror

ASMOBJS=	\
	optestm88k_add.o		\
	optestm88k_bitfield.o	\
	optestm88k_fcmp.o		\
	optestm88k_flt.o		\
	optestm88k_lda.o		\
	optestm88k_logical.o	\
	optestm88k_muldiv.o		\
	optestm88k_sub.o		\

all:	optestm88k

optestm88k:	optestm88k_main.o optestm88k_table.o optestm88k_code.o ${ASMOBJS}
	${CC} -o $@ $>

optestm88k_main.o:	optestm88k_main.c optestm88k_main.h
optestm88k_table.o:	optestm88k_table.c optestm88k_main.h optestm88k_table.h
optestm88k_code.o:	optestm88k_code.s

.for f in ${ASMOBJS:S/optestm88k_lda.o//}
${f}:	${f:S/\.o/\.s/}
.endfor

# lda 命令1回ごとに Use of obsolete instruction のワーニングが出てしまうので
# ワーニングをとめる。全部とめるかどうかしかないようだ
optestm88k_lda.o:	optestm88k_lda.s
	${CC} -Wa,-W -c $>

.PHONY:	clean
clean:
	rm -f optestm88k *.o *.core

.else
#
# For host
#

TOPDIR=		../..
.include "${TOPDIR}/Makefile.inc"

TARGETS=	optestm88k_gen
CXXSRCS=	optestm88k_gen.cpp
OBJS=		${CXXSRCS:.cpp=.o}

.PATH:	${TOPDIR}/lib
optestm88k_gen:	${OBJS} libnnlib.a
	${CXX} ${LDFLAGS} -o $@ $>

.include "${TOPDIR}/Makefile.rule"

.endif
