Plan 9 from Bell Labs’s /usr/web/sources/contrib/fernan/nhc98/src/prelude/FFI/Makefile

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


include Makefile.inc

THISLIB	= FFI
SEARCH	= -P../IOExtras -P$(LOW) -P../PreludeIO -P../$(MACHINE)
ifeq "$(BUILDCOMP)" "hbc"
EXTRA_H_FLAGS	= +RTS -A16M -H32M -RTS
endif
ifeq "${BUILDCOMP}" "ghc"
EXTRA_H_FLAGS = +RTS -K4M -RTS
endif
ifeq "${BUILDCOMP}" "nhc"
EXTRA_H_FLAGS = +RTS -H32M -RTS
endif


EXTRA_C_FLAGS	=

SRCS = \
	Addr.hs Ptr.hs FunPtr.hs Storable.hs \
	ForeignObj.hs ForeignPtr.hs Int.hs Word.hs \
	CError.hs CTypes.hs CTypesExtra.hs CStrings.hs \
	MarshalAlloc.hs MarshalArray.hs MarshalError.hs MarshalUtils.hs \
	StablePtr.hs


# Here are the main rules.
include ../Makefile.common


# Here are some extra rules.
Int.hs: Int.hs.cpp
	$(CC) -E $< >$@
Word.hs: Word.hs.cpp
	$(CC) -E $< >$@


# Here are the dependencies.
# dependencies generated by hmake -Md: (and hacked by MW)
${OBJDIR}/MarshalError.$O: ${OBJDIR}/Ptr.$O 
${OBJDIR}/MarshalUtils.$O: ${OBJDIR}/Ptr.$O ${OBJDIR}/Storable.$O \
	${OBJDIR}/MarshalAlloc.$O ${OBJDIR}/CTypes.$O ${OBJDIR}/CTypesExtra.$O 
${OBJDIR}/MarshalArray.$O: ${OBJDIR}/Ptr.$O ${OBJDIR}/Storable.$O \
	${OBJDIR}/MarshalAlloc.$O ${OBJDIR}/MarshalUtils.$O 
${OBJDIR}/CTypesExtra.$O: ${OBJDIR}/Int.$O ${OBJDIR}/Word.$O ${OBJDIR}/CTypes.$O
${OBJDIR}/CTypes.$O: ${OBJDIR}/Int.$O ${OBJDIR}/Word.$O ${OBJDIR}/Storable.$O \
	${OBJDIR}/Ptr.$O 
${OBJDIR}/CStrings.$O: ${OBJDIR}/MarshalArray.$O ${OBJDIR}/CTypes.$O \
	${OBJDIR}/Ptr.$O ${OBJDIR}/Word.$O
${OBJDIR}/MarshalAlloc.$O: ${OBJDIR}/Ptr.$O ${OBJDIR}/Storable.$O \
	${OBJDIR}/CError.$O ${OBJDIR}/CTypes.$O ${OBJDIR}/CTypesExtra.$O 
${OBJDIR}/StablePtr.$O: ${OBJDIR}/Ptr.$O ${OBJDIR}/Storable.$O
${OBJDIR}/ForeignPtr.$O: ${OBJDIR}/ForeignObj.$O ${OBJDIR}/Ptr.$O
${OBJDIR}/Storable.$O: ${OBJDIR}/Int.$O ${OBJDIR}/Word.$O ${OBJDIR}/Ptr.$O 
${OBJDIR}/FunPtr.$O: ${OBJDIR}/Addr.$O ${OBJDIR}/Ptr.$O ${OBJDIR}/Storable.$O


## Yucky .hi stuff to deal with mutual dependencies.
IOHIFILES =  FixIO
IOHIS     = $(patsubst %,../IOExtras/%.${HISUFFIX},${IOHIFILES})

${OBJ_MAIN}:   ../IOExtras/FixIO.${HISUFFIX}
${CFILE_MAIN}: ../IOExtras/FixIO.${HISUFFIX}
${IOHIS}: ../IOExtras/%.${HISUFFIX} : ../IOExtras/%.hs
	cd ../IOExtras; ${MAKE} $@



Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].