
# modules with non-default implementations on at least one architecture:
SRCS+=	cerror.S sbrk.S uid.c

#SRCS+=	Ovfork.S brk.S cerror.S exect.S fork.S rfork.S \
#	sigpending.S sigprocmask.S sigreturn.S \
#	sigsuspend.S pmoncall.S

# modules with default implementations on all architectures:
ASM=	accept.o bind.o chdir.o close.o connect.o fcntl.o		\
	getdir.o gethostid.o gethostname.o getitimer.o getpeername.o	\
	getpgrp.o getpid.o getsockname.o getsockopt.o gettimeofday.o	\
	ioctl.o listen.o lseek.o nanosleep.o open.o read.o readv.o	\
	recvfrom.o recvmsg.o select.o semlock.o semunlock.o sendmsg.o	\
	sendto.o setitimer.o setsockopt.o shutdown.o sigaction.o	\
	sigblock.o siginterrupt.o sigpause.o sigpending.o sigprocmask.o	\
	sigsetmask.o sigsuspend.o sigvec.o smpfork.o socket.o stat.o	\
	write.o	writev.o



#GASM=	${ASM:.o=.go}
#PASM=	${ASM:.o=.po}

#PSEUDO=	_getlogin.o _setlogin.o _ptrace.o
#GPSEUDO=${PSEUDO:.o=.go}
#PPSEUDO=${PSEUDO:.o=.po}
#SPSEUDO=${PSEUDO:.o=.so}

PSEUDO_NOERR=	_exit.o
#GPSEUDO_NOERR=${PSEUDO_NOERR:.o=.go}
#PPSEUDO_NOERR=${PSEUDO_NOERR:.o=.po}
#SPSEUDO_NOERR=${PSEUDO_NOERR:.o=.so}

OASM=	${patsubst %,${OBJDIR}/%,${ASM}}
SYSOBJS=${patsubst %,${OBJDIR}/%,${ASM}}

OPSEUDO_NOERR=	${patsubst %,${OBJDIR}/%,${PSEUDO_NOERR}}
SYSOBJS+=${patsubst %,${OBJDIR}/%,${PSEUDO_NOERR}}

#${GASM}: ${CLIBDIR}/SYS.h ${S}/include/pmoncall.h
#	@echo creating ${.TARGET}
#	@printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' | \
#	    ${CPP} ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.TARGET}.o
#	@${LD} ${ENDIAN} -X -r ${.TARGET}.o -o ${.TARGET}
#	@rm -f ${.TARGET}.o
#
#${PASM}: ${CLIBDIR}/SYS.h ${S}/include/pmoncall.h
#	@echo creating ${.TARGET}
#	@printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' | \
#	    ${CPP} -DPROF ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.TARGET}.o
#	@${LD} ${ENDIAN} -X -r ${.TARGET}.o -o ${.TARGET}
#	@rm -f ${.TARGET}.o

${OASM}: ${CLIBDIR}/SYS.h ${S}/include/pmoncall.h
	@echo creating ${patsubst ${OBJDIR}/%.o,%,$@}
	@printf '#include "SYS.h"\nRSYSCALL(${patsubst ${OBJDIR}/%.o,%,$@})\n'|\
	    ${CPP} ${CPPFLAGS} - | ${AS} ${AOPTS} -o $@.o
	@${LD} ${ENDIAN} -x -r $@.o -o $@
	@rm -f $@.o

${OPSEUDO_NOERR}: ${CLIBDIR}/SYS.h ${S}/include/pmoncall.h
	@echo creating ${patsubst ${OBJDIR}/%.o,%,$@}
	@printf '#include "SYS.h"\nPSEUDO_NOERROR(${patsubst ${OBJDIR}/%.o,%,$@},${patsubst ${OBJDIR}/%.o,_%,$@})\n' | \
	    ${CPP} ${CPPFLAGS} - | ${AS} ${AOPTS} -o $@.o
	@${LD} ${ENDIAN} -X -r $@.o -o $@
	@rm -f $@.o

#${GPSEUDO}: ${CLIBDIR}/SYS.h ${S}/include/pmoncall.h
#	@echo creating ${.TARGET}
#	@printf '#include "SYS.h"\nPSEUDO(${.PREFIX},${.PREFIX:S/_//})\n' | \
#	    ${CPP} ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.TARGET}.o
#	@${LD} ${ENDIAN} -X -r ${.TARGET}.o -o ${.TARGET}
#	@rm -f ${.TARGET}.o

#${PPSEUDO}: ${CLIBDIR}/SYS.h ${S}/include/pmoncall.h
#	@echo creating ${.TARGET}
#	@printf '#include "SYS.h"\nPSEUDO(${.PREFIX},${.PREFIX:S/_//})\n' | \
#	    ${CPP} -DPROF ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.TARGET}.o
#	@${LD} ${ENDIAN} -X -r ${.TARGET}.o -o ${.TARGET}
#	@rm -f ${.TARGET}.o
#
#.if (${MACHINE_ARCH} != "mips")
#${SPSEUDO}: ${CLIBDIR}/SYS.h ${S}/include/pmoncall.h
#	@echo creating ${.TARGET}
#	@printf '#include "SYS.h"\nPSEUDO(${.PREFIX},${.PREFIX:S/_//})\n' | \
#	    ${CPP} -DPIC ${CFLAGS:M-[ID]*} ${AINC} | \
#	    ${AS} ${ASPICFLAG} -o ${.TARGET}
#.else
#${SPSEUDO}: ${CLIBDIR}/SYS.h ${S}/include/pmoncall.h
#	@echo creating ${.TARGET}
#	@printf '#include "SYS.h"\nPSEUDO(${.PREFIX},${.PREFIX:S/_//})\n' | \
#	    ${CPP} -DPIC ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.TARGET}
#.endif

#${PSEUDO}: ${CLIBDIR}/SYS.h ${S}/include/pmoncall.h
#	@echo creating ${.TARGET}
#	@printf '#include "SYS.h"\nPSEUDO(${.PREFIX},${.PREFIX:S/_//})\n' | \
#	    ${CPP} ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.TARGET}.o
#	@${LD} ${ENDIAN} -X -r ${.TARGET}.o -o ${.TARGET}
#	@rm -f ${.TARGET}.o
#
#${GPSEUDO_NOERR}: ${CLIBDIR}/SYS.h ${S}/include/pmoncall.h
#	@echo creating ${.TARGET}
#	@printf '#include "SYS.h"\nPSEUDO_NOERROR(${.PREFIX},${.PREFIX:S/_//})\n' | \
#	    ${CPP} ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.TARGET}.o
#	@${LD} ${ENDIAN} -X -r ${.TARGET}.o -o ${.TARGET}
#	@rm -f ${.TARGET}.o
#
#${PPSEUDO_NOERR}: ${CLIBDIR}/SYS.h ${S}/include/pmoncall.h
#	@echo creating ${.TARGET}
#	@printf '#include "SYS.h"\nPSEUDO_NOERROR(${.PREFIX},${.PREFIX:S/_//})\n' | \
#	    ${CPP} -DPROF ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.TARGET}.o
#	@${LD} ${ENDIAN} -X -r ${.TARGET}.o -o ${.TARGET}
#	@rm -f ${.TARGET}.o
#
#.if (${MACHINE_ARCH} != "mips")
#${SPSEUDO_NOERR}: ${CLIBDIR}/SYS.h ${S}/include/pmoncall.h
#	@echo creating ${.TARGET}
#	@printf '#include "SYS.h"\nPSEUDO_NOERROR(${.PREFIX},${.PREFIX:S/_//})\n' | \
#	    ${CPP} -DPIC ${CFLAGS:M-[ID]*} ${AINC} | \
#	    ${AS} ${ASPICFLAG} -o ${.TARGET}
#.else
#${SPSEUDO_NOERR}: ${CLIBDIR}/SYS.h ${S}/include/pmoncall.h
#	@echo creating ${.TARGET}
#	@printf '#include "SYS.h"\nPSEUDO_NOERROR(${.PREFIX},${.PREFIX:S/_//})\n' | \
#	    ${CPP} -DPIC ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.TARGET}
#.endif
#
#${PSEUDO_NOERR}: ${CLIBDIR}/SYS.h ${S}/include/pmoncall.h
#	@echo creating ${.TARGET}
#	@printf '#include "SYS.h"\nPSEUDO_NOERROR(${.PREFIX},${.PREFIX:S/_//})\n' | \
#	    ${CPP} ${CFLAGS:M-[ID]*} ${AINC} | ${AS} -o ${.TARGET}.o
#	@${LD} ${ENDIAN} -X -r ${.TARGET}.o -o ${.TARGET}
#	@rm -f ${.TARGET}.o
#
