Hi,

I'm trying to port openmpi. I follow libsdl Makefile structure. This is my Makefile:

PKGDIR          ?= ../..
L4DIR           ?= $(PKGDIR)/../..

TARGET          = libmpi.a libmpi.so

CONTRIB_INCDIR  = libompi
REQUIRES_LIBS   = libc_support_misc l4re_c-util libpthread

SRC_C = $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/attribute/*.c)) \
        $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/class/*.c)) \
        $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/communicator/*.c)) \
        $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/errhandler/*.c)) \
        $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/file/*.c)) \
        $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/group/*.c)) \
        $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/info/*.c)) \
        $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/allocator/base/*.c)) \
        $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/allocator/basic/*.c)) \
        $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/allocator/bucket/*.c)) \
        $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/bml/base/*.c)) \
        $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/bml/r2/*.c)) \
        $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/btl/base/*.c)) \
        $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/btl/ofud/*.c)) \
        $(patsubst $(PKGDIR)/%.c, %.c, $(filter-out $(PKGDIR)/lib/src/ompi/mca/btl/openib/btl_openib_failover.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/btl/base/connect/*.c))) \
        $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/btl/self/*.c)) \
        $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/btl/sm/*.c)) \
        $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/btl/tcp/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(filter-out $(PKGDIR)/lib/src/ompi/mca/btl/openib/connect/btl_openib_connect_rdmacm.c $(PKGDIR)/lib/src/ompi/mca/bml/openib/connect/btl_openib_connect_sl.c $(PKGDIR)/lib/src/ompi/mca/bml/openib/connect/btl_openib_connect_xoob.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/btl/openib/connect/*.c))) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/coll/base/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/coll/basic/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/coll/hierarch/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/coll/inter/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/coll/self/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/coll/sm/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/coll/sync/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/coll/tuned/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/crcp/base/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/crcp/bkmrk/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/dpm/base/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/dpm/orte/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/io/based/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/io/romio/romio/adio/common/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/io/romio/romio/mpi-io/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/io/romio/romio/mpi-io/glue/openmpi/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/mpool/base/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/mpool/fake/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/mpool/rdma/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/mpool/sm/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/mtl/base/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/op/base/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/osc/base/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/osc/pt2pt/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/osc/rdma/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/pml/base/*.c)) \
    (patsubst $(PKGDIR)/%.c, %.c, $(filter-out $(PKGDIR)/lib/src/ompi/mca/pml/csum/pml_csum_endpoint.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/pml/csum/*.c))) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/pml/cm/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/pml/crcpw/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/pml/ob1/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/pml/v/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/pml/v/mca/vprotocol/base/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/pml/v/mca/vprotocol/pessimist/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/pubsub/base/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/pubsub/orte/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/rcache/base/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/rcache/vma/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/topo/base/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mca/topo/unity/*.c)) \
    lib/src/ompi/mpi/c/attr_fn.c \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/mpi/c/profile/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/op/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/proc/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/request/*.c)) \
    $(patsubst $(PKGDIR)/%.c, %.c, $(wildcard $(PKGDIR)/lib/src/ompi/runtime/*.c))
   
PRIVATE_INCDIR    = $(PKGDIR)/lib/src/ompi/attribute/ \
                  $(PKGDIR)/lib/src/ompi/class \
                  $(PKGDIR)/lib/src/ompi/communictor \
                  $(PKGDIR)/lib/src/ompi/errhandler \
                  $(PKGDIR)/lib/src/ompi/file \
                  $(PKGDIR)/lib/src/ompi/group \
                  $(PKGDIR)/lib/src/ompi/info \
                  $(PKGDIR)/lib/src/ompi/mca/allocator/base \
                  $(PKGDIR)/lib/src/ompi/mca/allocator/basic \
                  $(PKGDIR)/lib/src/ompi/mca/allocator/bucket \
                  $(PKGDIR)/lib/src/ompi/mca/bml/base \
                  $(PKGDIR)/lib/src/ompi/mca/bml/r2 \
                  $(PKGDIR)/lib/src/ompi/mca/btl/base \
                  $(PKGDIR)/lib/src/ompi/mca/btl/ofud \
                  $(PKGDIR)/lib/src/ompi/mca/btl/openib \
                  $(PKGDIR)/lib/src/ompi/mca/btl/openib/connect \
                  $(PKGDIR)/lib/src/ompi/mca/btl/self \
                  $(PKGDIR)/lib/src/ompi/mca/btl/sm \
                  $(PKGDIR)/lib/src/ompi/mca/btl/tcp \
                  $(PKGDIR)/lib/src/ompi/mca/coll/base \
                  $(PKGDIR)/lib/src/ompi/mca/coll/basic \
                  $(PKGDIR)/lib/src/ompi/mca/coll/hierarch \
                  $(PKGDIR)/lib/src/ompi/mca/coll/inter \
                  $(PKGDIR)/lib/src/ompi/mca/coll/self \
                  $(PKGDIR)/lib/src/ompi/mca/coll/sm \
                  $(PKGDIR)/lib/src/ompi/mca/coll/sync \
                  $(PKGDIR)/lib/src/ompi/mca/coll/tuned \
                  $(PKGDIR)/lib/src/ompi/mca/crcp/base \
                  $(PKGDIR)/lib/src/ompi/mca/crcp/bkmrk \
                  $(PKGDIR)/lib/src/ompi/mca/dpm/base \
                  $(PKGDIR)/lib/src/ompi/mca/dpm/orte \
                  $(PKGDIR)/lib/src/ompi/mca/io/base \
                  $(PKGDIR)/lib/src/ompi/mca/io/romio/romio/adio/common \
                  $(PKGDIR)/lib/src/ompi/mca/io/romio/romio/mpi-io \
                  $(PKGDIR)/lib/src/ompi/mca/io/romio/romio/mpi-io/glue/openmpi \
                  $(PKGDIR)/lib/src/ompi/mca/mpool/base \
                  $(PKGDIR)/lib/src/ompi/mca/mpool/fake \
                  $(PKGDIR)/lib/src/ompi/mca/mpool/rdma \
                  $(PKGDIR)/lib/src/ompi/mca/mpool/sm \
                  $(PKGDIR)/lib/src/ompi/mca/mtl/base \
                  $(PKGDIR)/lib/src/ompi/mca/op/base \
                  $(PKGDIR)/lib/src/ompi/mca/osc/base \
                  $(PKGDIR)/lib/src/ompi/mca/osc/pt2pt \
                  $(PKGDIR)/lib/src/ompi/mca/osc/rdma \
                  $(PKGDIR)/lib/src/ompi/mca/pml/base \
                  $(PKGDIR)/lib/src/ompi/mca/pml/cm \
                  $(PKGDIR)/lib/src/ompi/mca/pml/crcpw \
                  $(PKGDIR)/lib/src/ompi/mca/pml/csum \
                  $(PKGDIR)/lib/src/ompi/mca/pml/ob1 \
                  $(PKGDIR)/lib/src/ompi/mca/pml/v \
                  $(PKGDIR)/lib/src/ompi/mca/pml/v/mca/vprotocol/base \
                  $(PKGDIR)/lib/src/ompi/mca/pml/v/mca/vprotocol/pessimist \
                  $(PKGDIR)/lib/src/ompi/mca/pubsub/base \
                  $(PKGDIR)/lib/src/ompi/mca/pubsub/orte \
                  $(PKGDIR)/lib/src/ompi/mca/rcache/base \
                  $(PKGDIR)/lib/src/ompi/mca/rcache/vma \
                  $(PKGDIR)/lib/src/ompi/mca/topo/base \
                  $(PKGDIR)/lib/src/ompi/mca/topo/unity \
                  $(PKGDIR)/lib/src/ompi/mpi/c \
                  $(PKGDIR)/lib/src/ompi/mpi/c/profile \
                  $(PKGDIR)/lib/src/ompi/op \
                  $(PKGDIR)/lib/src/ompi/proc \
                  $(PKGDIR)/lib/src/ompi/request \
                  $(PKGDIR)/lib/src/ompi/runtime
                 
          
vpath %.c $(PKGDIR)

include $(L4DIR)/mk/lib.mk

CFLAGS := $(filter-out -Wextra -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations,$(CFLAGS))


Then, I got this error message:
"given paths must be relative"

I can't figure out what is wrong with my Makefile. If you notice something, please let me know. Thank you

regards,
Irvanda