1)add -fPIC for $(IPPOOL_RPC_STEM)_xdr.o, $(IPPOOL_RPC_STEM)_client.o
|
2)add sub target for subdirs-all, and those dependencies below
|
pppd plugin directory build depends on $(IPPOOL_RPC_STEM)_xdr.o
|
$(IPPOOL_RPC_STEM)_client.o ippool_rpc.h
|
|
ippoold depends on libusl
|
ippoolconfig depends on libcli
|
|
$(IPPOOL_RPC_STEM)_xdr.o, $(IPPOOL_RPC_STEM)_client.o
|
$(IPPOOL_RPC_STEM)_server.o *.o in main directory depends on ippool_rpc.h
|
as those all directly or indirectly include ippool_rpc.h which is
|
dynamically generated by rpcgen
|
|
to make parallel make working.
|
3)include dependency files for pppd.
|
|
Upstream-Status: Pending
|
|
Signed-off-by: Yao Zhao <yao.zhao@windriver.com>
|
---
|
diff --git a/Makefile b/Makefile
|
index 73aa72f..4f7af1d 100644
|
--- a/Makefile
|
+++ b/Makefile
|
@@ -106,14 +106,14 @@ all: generated-files $(IPPOOL_RPC_STEM)_xdr.o $(IPPOOL_RPC_STEM)_client.o \
|
subdirs-all $(PROGS.sbin) $(PROGS.bin)
|
|
# Compile without -Wall because rpcgen-generated code is full of warnings
|
-$(IPPOOL_RPC_STEM)_xdr.o: $(IPPOOL_RPC_STEM)_xdr.c
|
- $(CC) -I. -MMD -g -c -w $(CPPFLAGS) $(CFLAGS.optimize) $<
|
+$(IPPOOL_RPC_STEM)_xdr.o: $(IPPOOL_RPC_STEM)_xdr.c $(IPPOOL_RPC_STEM).h
|
+ $(CC) -I. -MMD -g -c -w $(CPPFLAGS) $(CFLAGS.optimize) $< -fPIC
|
|
-$(IPPOOL_RPC_STEM)_client.o: $(IPPOOL_RPC_STEM)_client.c
|
- $(CC) -I. -MMD -g -c -w $(CPPFLAGS) $(CFLAGS.optimize) $<
|
+$(IPPOOL_RPC_STEM)_client.o: $(IPPOOL_RPC_STEM)_client.c $(IPPOOL_RPC_STEM).h
|
+ $(CC) -I. -MMD -g -c -w $(CPPFLAGS) $(CFLAGS.optimize) $< -fPIC
|
|
-$(IPPOOL_RPC_STEM)_server.o: $(IPPOOL_RPC_STEM)_server.c
|
- $(CC) -I. -MMD -g -c -w $(CPPFLAGS) $(CFLAGS.optimize) $<
|
+$(IPPOOL_RPC_STEM)_server.o: $(IPPOOL_RPC_STEM)_server.c $(IPPOOL_RPC_STEM).h
|
+ $(CC) -I. -MMD -g -c -w $(CPPFLAGS) $(CFLAGS.optimize) $< -fPIC
|
|
$(IPPOOL_RPC_STEM)_xdr.c: $(IPPOOL_RPC_STEM).x
|
-$(RM) $@
|
@@ -136,8 +136,12 @@ $(IPPOOL_RPC_STEM).h: $(IPPOOL_RPC_STEM).x
|
|
generated-files: $(RPC_FILES)
|
|
-subdirs-all:
|
- @for d in $(SUBDIRS); do $(MAKE) -C $$d $(MFLAGS) EXTRA_CFLAGS="$(CPPFLAGS)" all; if [ $$? -ne 0 ]; then exit 1; fi; done
|
+subdirs-all: $(patsubst %,%-dir, $(SUBDIRS))
|
+
|
+pppd-dir: $(IPPOOL_RPC_STEM)_xdr.o $(IPPOOL_RPC_STEM)_client.o $(IPPOOL_RPC_STEM).h
|
+
|
+$(patsubst %,%-dir,$(SUBDIRS)):
|
+ @for d in $(patsubst %-dir,%,$@); do $(MAKE) -C $$d $(MFLAGS) EXTRA_CFLAGS="$(CPPFLAGS)" all; if [ $$? -ne 0 ]; then exit 1; fi; done
|
|
clean:
|
@for d in $(SUBDIRS); do $(MAKE) -C $$d $(MFLAGS) $@; if [ $$? -ne 0 ]; then exit 1; fi; done
|
@@ -151,13 +155,13 @@ TAGS:
|
@for d in $(SUBDIRS); do $(MAKE) -C $$d $(MFLAGS) $@; done
|
etags -t $(wildcard *.c) $(wildcard *.h)
|
|
-ippoold: $(IPPOOLD_SRCS.o)
|
- $(CC) -o $@ $^ $(LDFLAGS.ippoold)
|
+ippoold: $(IPPOOLD_SRCS.o) usl-dir
|
+ $(CC) -o $@ $(IPPOOLD_SRCS.o) $(LDFLAGS.ippoold)
|
|
-ippoolconfig: $(IPPOOLCONFIG_SRCS.o)
|
- $(CC) -o $@ $^ $(LDFLAGS.ippoolconfig)
|
+ippoolconfig: $(IPPOOLCONFIG_SRCS.o) cli-dir
|
+ $(CC) -o $@ $(IPPOOLCONFIG_SRCS.o) $(LDFLAGS.ippoolconfig)
|
|
-%.o: %.c
|
+%.o: %.c $(IPPOOL_RPC_STEM).h
|
$(CC) -c $(CFLAGS) $< -o $@
|
|
install: all
|
diff --git a/pppd/Makefile b/pppd/Makefile
|
index 78d9b33..106deca 100644
|
--- a/pppd/Makefile
|
+++ b/pppd/Makefile
|
@@ -24,3 +24,5 @@ install: ippool.so
|
|
clean:
|
-rm -rf *.o *.so
|
+
|
+include $(wildcard *.d /dev/null)
|