Hi Michael,

El 22/09/16 a las 06:43, Michael Ellerman escribió:
Emilio López <emilio.lo...@collabora.co.uk> writes:
+CFLAGS += -I../../../../include/uapi/


Please don't include the unprocessed uapi headers, they are not meant to
be directly included in userspace programs.

They even say so:

include/uapi/linux/types.h:#warning "Attempt to use kernel headers from user space, 
see http://kernelnewbies.org/KernelHeaders";

+CFLAGS += -I../../../../include/

Please don't include the *kernel* headers, they're really not meant to
be used in userspace programs :)

+CFLAGS += -I../../../../usr/include/

That is the correct place to get them from. They'll have been put there
by 'make headers_install'.

+CFLAGS += -I../../../../drivers/dma-buf/

That's also a bit fishy.

My inspiration here has been tools/testing/selftests/memfd/Makefile, which does it this way. If I only include the ones on usr then it doesn't build, as there's no sync_file.h available, even after running make headers_install. How am I supposed to use the ioctls from there?

The dma-buf include path is a leftover from the previous version, there's no longer any headers there. I've fixed the other things you pointed out, the new Makefile is below if you want to take another look.

Thanks for the review! :)
Emilio

---

CFLAGS += -O2 -g -std=gnu89 -pthread -Wall -Wextra
CFLAGS += -I../../../../usr/include/
LDFLAGS += -pthread

TEST_PROGS = sync_test

all: $(TEST_PROGS)

include ../lib.mk

OBJS = sync_test.o sync.o

TESTS += sync_alloc.o
TESTS += sync_fence.o
TESTS += sync_merge.o
TESTS += sync_wait.o
TESTS += sync_stress_parallelism.o
TESTS += sync_stress_consumer.o
TESTS += sync_stress_merge.o

sync_test: $(OBJS) $(TESTS)

clean:
        $(RM) sync_test $(OBJS) $(TESTS)

Reply via email to