On 13-01-02 01:01 AM, xuan bach wrote:
=========================
BASEDIR=/usr/local
INCS= -I$(BASEDIR)/include/omega -I.
LIBS= -L$(BASEDIR)/lib
LIB= -lcode_gen -lomega -lm
GHC=ghc
#----------------------------------------------------
CFILES=$(CURDIR)/cfile
HSFILES=$(CURDIR)/hsfile
COBJFILES=$(CFILES)/termops.o $(CFILES)/termops2.o
ALLCFILES=$(CFILES)/termops.c $(CFILES)/termops2.c
#----------------------------------------------------
GHC_FLAGS= -O2 -fglasgow-exts -fallow-overlapping-instances
_ffi_ex: $(COBJFILES)
ghc $(GHC_FLAGS) -lstdc++ --make -main-is FfiEx -o ffi_ex
FfiEx.hs $(HSFILES)/*.hs $(LIBS) $(LIB) $(COBJFILES)
=========================
=> *fatal error: omega.h: No such file or directory
An implicit rule is triggered to compile *.c to *.o. The rule goes like
$(CC) -c $(CPPFLAGS) $(CFLAGS)
Therefore, your -I$(BASEDIR)/include/omega -I. is ignored.
To solve, put -I$(BASEDIR)/include/omega -I. in CFLAGS, or write your
own rule for compiling *.c to *.o.
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe