Hi,
No sure if this will solve your problem, but your line:
(patsubst $(PKGDIR)/%.c, %.c, $(filter-out $(PKGDIR)/lib/src/ompi/mca/pml/csum/pml_csum_endpoint.c...
Is missing the '$' sign at the beginning, i.e, $(patsubst...
Best regards, Johan
On Thu, 2014-01-23 at 16:34 +0900, Irvanda Kurniadi wrote:
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
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers