diff options
Diffstat (limited to 'meta-networking/recipes-daemons/ippool/ippool/ippool_parallel_make_and_pic.patch')
-rw-r--r-- | meta-networking/recipes-daemons/ippool/ippool/ippool_parallel_make_and_pic.patch | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/meta-networking/recipes-daemons/ippool/ippool/ippool_parallel_make_and_pic.patch b/meta-networking/recipes-daemons/ippool/ippool/ippool_parallel_make_and_pic.patch new file mode 100644 index 000000000..1ebd95ea1 --- /dev/null +++ b/meta-networking/recipes-daemons/ippool/ippool/ippool_parallel_make_and_pic.patch | |||
@@ -0,0 +1,89 @@ | |||
1 | 1)add -fPIC for $(IPPOOL_RPC_STEM)_xdr.o, $(IPPOOL_RPC_STEM)_client.o | ||
2 | 2)add sub target for subdirs-all, and those dependencies below | ||
3 | pppd plugin directory build depends on $(IPPOOL_RPC_STEM)_xdr.o | ||
4 | $(IPPOOL_RPC_STEM)_client.o ippool_rpc.h | ||
5 | |||
6 | ippoold depends on libusl | ||
7 | ippoolconfig depends on libcli | ||
8 | |||
9 | $(IPPOOL_RPC_STEM)_xdr.o, $(IPPOOL_RPC_STEM)_client.o | ||
10 | $(IPPOOL_RPC_STEM)_server.o *.o in main directory depends on ippool_rpc.h | ||
11 | as those all directly or indirectly include ippool_rpc.h which is | ||
12 | dynamically generated by rpcgen | ||
13 | |||
14 | to make parallel make working. | ||
15 | 3)include dependency files for pppd. | ||
16 | |||
17 | Upstream-Status: Pending | ||
18 | |||
19 | Signed-off-by: Yao Zhao <yao.zhao@windriver.com> | ||
20 | --- | ||
21 | diff --git a/Makefile b/Makefile | ||
22 | index 73aa72f..4f7af1d 100644 | ||
23 | --- a/Makefile | ||
24 | +++ b/Makefile | ||
25 | @@ -106,14 +106,14 @@ all: generated-files $(IPPOOL_RPC_STEM)_xdr.o $(IPPOOL_RPC_STEM)_client.o \ | ||
26 | subdirs-all $(PROGS.sbin) $(PROGS.bin) | ||
27 | |||
28 | # Compile without -Wall because rpcgen-generated code is full of warnings | ||
29 | -$(IPPOOL_RPC_STEM)_xdr.o: $(IPPOOL_RPC_STEM)_xdr.c | ||
30 | - $(CC) -I. -MMD -g -c -w $(CPPFLAGS) $(CFLAGS.optimize) $< | ||
31 | +$(IPPOOL_RPC_STEM)_xdr.o: $(IPPOOL_RPC_STEM)_xdr.c $(IPPOOL_RPC_STEM).h | ||
32 | + $(CC) -I. -MMD -g -c -w $(CPPFLAGS) $(CFLAGS.optimize) $< -fPIC | ||
33 | |||
34 | -$(IPPOOL_RPC_STEM)_client.o: $(IPPOOL_RPC_STEM)_client.c | ||
35 | - $(CC) -I. -MMD -g -c -w $(CPPFLAGS) $(CFLAGS.optimize) $< | ||
36 | +$(IPPOOL_RPC_STEM)_client.o: $(IPPOOL_RPC_STEM)_client.c $(IPPOOL_RPC_STEM).h | ||
37 | + $(CC) -I. -MMD -g -c -w $(CPPFLAGS) $(CFLAGS.optimize) $< -fPIC | ||
38 | |||
39 | -$(IPPOOL_RPC_STEM)_server.o: $(IPPOOL_RPC_STEM)_server.c | ||
40 | - $(CC) -I. -MMD -g -c -w $(CPPFLAGS) $(CFLAGS.optimize) $< | ||
41 | +$(IPPOOL_RPC_STEM)_server.o: $(IPPOOL_RPC_STEM)_server.c $(IPPOOL_RPC_STEM).h | ||
42 | + $(CC) -I. -MMD -g -c -w $(CPPFLAGS) $(CFLAGS.optimize) $< -fPIC | ||
43 | |||
44 | $(IPPOOL_RPC_STEM)_xdr.c: $(IPPOOL_RPC_STEM).x | ||
45 | -$(RM) $@ | ||
46 | @@ -136,8 +136,12 @@ $(IPPOOL_RPC_STEM).h: $(IPPOOL_RPC_STEM).x | ||
47 | |||
48 | generated-files: $(RPC_FILES) | ||
49 | |||
50 | -subdirs-all: | ||
51 | - @for d in $(SUBDIRS); do $(MAKE) -C $$d $(MFLAGS) EXTRA_CFLAGS="$(CPPFLAGS)" all; if [ $$? -ne 0 ]; then exit 1; fi; done | ||
52 | +subdirs-all: $(patsubst %,%-dir, $(SUBDIRS)) | ||
53 | + | ||
54 | +pppd-dir: $(IPPOOL_RPC_STEM)_xdr.o $(IPPOOL_RPC_STEM)_client.o $(IPPOOL_RPC_STEM).h | ||
55 | + | ||
56 | +$(patsubst %,%-dir,$(SUBDIRS)): | ||
57 | + @for d in $(patsubst %-dir,%,$@); do $(MAKE) -C $$d $(MFLAGS) EXTRA_CFLAGS="$(CPPFLAGS)" all; if [ $$? -ne 0 ]; then exit 1; fi; done | ||
58 | |||
59 | clean: | ||
60 | @for d in $(SUBDIRS); do $(MAKE) -C $$d $(MFLAGS) $@; if [ $$? -ne 0 ]; then exit 1; fi; done | ||
61 | @@ -151,13 +155,13 @@ TAGS: | ||
62 | @for d in $(SUBDIRS); do $(MAKE) -C $$d $(MFLAGS) $@; done | ||
63 | etags -t $(wildcard *.c) $(wildcard *.h) | ||
64 | |||
65 | -ippoold: $(IPPOOLD_SRCS.o) | ||
66 | - $(CC) -o $@ $^ $(LDFLAGS.ippoold) | ||
67 | +ippoold: $(IPPOOLD_SRCS.o) usl-dir | ||
68 | + $(CC) -o $@ $(IPPOOLD_SRCS.o) $(LDFLAGS.ippoold) | ||
69 | |||
70 | -ippoolconfig: $(IPPOOLCONFIG_SRCS.o) | ||
71 | - $(CC) -o $@ $^ $(LDFLAGS.ippoolconfig) | ||
72 | +ippoolconfig: $(IPPOOLCONFIG_SRCS.o) cli-dir | ||
73 | + $(CC) -o $@ $(IPPOOLCONFIG_SRCS.o) $(LDFLAGS.ippoolconfig) | ||
74 | |||
75 | -%.o: %.c | ||
76 | +%.o: %.c $(IPPOOL_RPC_STEM).h | ||
77 | $(CC) -c $(CFLAGS) $< -o $@ | ||
78 | |||
79 | install: all | ||
80 | diff --git a/pppd/Makefile b/pppd/Makefile | ||
81 | index 78d9b33..106deca 100644 | ||
82 | --- a/pppd/Makefile | ||
83 | +++ b/pppd/Makefile | ||
84 | @@ -24,3 +24,5 @@ install: ippool.so | ||
85 | |||
86 | clean: | ||
87 | -rm -rf *.o *.so | ||
88 | + | ||
89 | +include $(wildcard *.d /dev/null) | ||