patch-2.4.0-test7 linux/drivers/net/wan/Makefile
Next file: linux/drivers/net/wan/cycx_main.c
Previous file: linux/drivers/net/wan/Config.in
Back to the patch index
Back to the overall index
- Lines: 330
- Date:
Mon Aug 14 10:19:03 2000
- Orig file:
v2.4.0-test6/linux/drivers/net/wan/Makefile
- Orig date:
Wed Aug 9 19:19:50 2000
diff -u --recursive --new-file v2.4.0-test6/linux/drivers/net/wan/Makefile linux/drivers/net/wan/Makefile
@@ -1,269 +1,86 @@
-# File: drivers/net/wan/Makefile
#
# Makefile for the Linux network (wan) device drivers.
#
-# Note! Dependencies are done automagically by 'make dep', which also
-# removes any old dependencies. DON'T put your own dependencies here
-# unless it's something special (ie not a .c file).
-#
-# Note 2! The CFLAGS definition is now inherited from the
-# parent makefile.
+# 3 Aug 2000, Christoph Hellwig <hch@caldera.de>
+# Rewritten to use lists instead of if-statements.
#
SUB_DIRS :=
MOD_SUB_DIRS := $(SUB_DIRS)
ALL_SUB_DIRS := $(SUB_DIRS) lmc
-L_TARGET := wan.a
-L_OBJS :=
-M_OBJS :=
-
-# Need these to keep track of whether the 82530 or SYNCPPP
-# modules should really go in the kernel or a module.
-CONFIG_85230_BUILTIN :=
-CONFIG_85230_MODULE :=
-CONFIG_SYNCPPP_BUILTIN :=
-CONFIG_SYNCPPP_MODULE :=
-
-ifeq ($(CONFIG_HOSTESS_SV11),y)
-L_OBJS += hostess_sv11.o
-CONFIG_85230_BUILTIN = y
-CONFIG_SYNCPPP_BUILTIN = y
-else
- ifeq ($(CONFIG_HOSTESS_SV11),m)
- CONFIG_85230_MODULE = y
- CONFIG_SYNCPPP_MODULE = y
- M_OBJS += hostess_sv11.o
- endif
-endif
-
-ifeq ($(CONFIG_SEALEVEL_4021),y)
-L_OBJS += sealevel.o
-CONFIG_85230_BUILTIN = y
-CONFIG_SYNCPPP_BUILTIN = y
-else
- ifeq ($(CONFIG_SEALEVEL_4021),m)
- CONFIG_85230_MODULE = y
- CONFIG_SYNCPPP_MODULE = y
- M_OBJS += sealevel.o
- endif
-endif
-
-ifeq ($(CONFIG_SYNCLINK_SYNCPPP),y)
-CONFIG_SYNCPPP_BUILTIN = y
-else
- ifeq ($(CONFIG_SYNCLINK_SYNCPPP),m)
- CONFIG_SYNCPPP_MODULE = y
- endif
-endif
-
-ifeq ($(CONFIG_COMX),y)
-LX_OBJS += comx.o
-else
- ifeq ($(CONFIG_COMX),m)
- MX_OBJS += comx.o
- endif
-endif
+O_TARGET := wan.o
-ifeq ($(CONFIG_COMX_HW_COMX),y)
-L_OBJS += comx-hw-comx.o
-else
- ifeq ($(CONFIG_COMX_HW_COMX),m)
- M_OBJS += comx-hw-comx.o
- endif
-endif
+export-objs = z85230.o syncppp.o comx.o sdladrv.o cycx_drv.o
+list-multi = wanpipe.o cyclomx.o
-ifeq ($(CONFIG_COMX_HW_LOCOMX),y)
-L_OBJS += comx-hw-locomx.o
-CONFIG_85230_BUILTIN=y
-CONFIG_SYNCPPP_BUILTIN = y
-else
- ifeq ($(CONFIG_COMX_HW_LOCOMX),m)
- M_OBJS += comx-hw-locomx.o
- CONFIG_85230_MODULE=y
- CONFIG_SYNCPPP_MODULE = y
- endif
-endif
-
-ifeq ($(CONFIG_COMX_HW_MIXCOM),y)
-L_OBJS += comx-hw-mixcom.o
-else
- ifeq ($(CONFIG_COMX_HW_MIXCOM),m)
- M_OBJS += comx-hw-mixcom.o
- endif
-endif
-
-ifeq ($(CONFIG_COMX_PROTO_PPP),y)
-L_OBJS += comx-proto-ppp.o
-CONFIG_SYNCPPP_BUILTIN = y
-else
- ifeq ($(CONFIG_COMX_PROTO_PPP),m)
- M_OBJS += comx-proto-ppp.o
- CONFIG_SYNCPPP_MODULE = y
- endif
-endif
-
-ifeq ($(CONFIG_COMX_PROTO_LAPB),y)
-L_OBJS += comx-proto-lapb.o
-else
- ifeq ($(CONFIG_COMX_PROTO_LAPB),m)
- M_OBJS += comx-proto-lapb.o
- endif
-endif
-
-ifeq ($(CONFIG_COMX_PROTO_FR),y)
-L_OBJS += comx-proto-fr.o
-else
- ifeq ($(CONFIG_COMX_PROTO_FR),m)
- M_OBJS += comx-proto-fr.o
- endif
-endif
-
-ifeq ($(CONFIG_COSA),y)
-L_OBJS += cosa.o
-CONFIG_SYNCPPP_BUILTIN = y
-else
- ifeq ($(CONFIG_COSA),m)
- CONFIG_SYNCPPP_MODULE = y
- M_OBJS += cosa.o
- endif
-endif
+wanpipe-objs = sdlamain.o $(wanpipe-y)
+wanpipe-$(CONFIG_WANPIPE_X25) += sdla_x25.o
+wanpipe-$(CONFIG_WANPIPE_FR) += sdla_fr.o
+wanpipe-$(CONFIG_WANPIPE_CHDLC) += sdla_chdlc.o
+wanpipe-$(CONFIG_WANPIPE_PPP) += sdla_ppp.o
+
+cyclomx-objs = cycx_main.o $(cyclomx-y)
+cyclomx-$(CONFIG_CYCLOMX_X25) += cycx_x25.o
+
+
+obj-$(CONFIG_HOSTESS_SV11) += z85230.o syncppp.o hostess_sv11.o
+obj-$(CONFIG_SEALEVEL_4021) += z85230.o syncppp.o sealevel.o
+obj-$(CONFIG_COMX) += comx.o
+obj-$(CONFIG_COMX_HW_COMX) += comx-hw-comx.o
+obj-$(CONFIG_COMX_HW_LOCOMX) += z85230.o syncppp.o comx-hw-locomx.o
+obj-$(CONFIG_COMX_HW_MIXCOM) += comx-hw-mixcom.o
+obj-$(CONFIG_COMX_PROTO_PPP) += syncppp.o comx-proto-ppp.o
+obj-$(CONFIG_COMX_PROTO_LAPB) += comx-proto-lapb.o
+obj-$(CONFIG_COMX_PROTO_FR) += comx-proto-fr.o
+obj-$(CONFIG_COSA) += syncppp.o cosa.o
+obj-$(CONFIG_LANMEDIA) += syncppp.o
ifeq ($(CONFIG_LANMEDIA),y)
SUB_DIRS += lmc
MOD_IN_SUB_DIRS += lmc
- L_OBJS += lmc/lmc.o
- CONFIG_SYNCPPP_BUILTIN = y
+ obj-y += lmc/lmc.o
else
ifeq ($(CONFIG_LANMEDIA),m)
- CONFIG_SYNCPPP_MODULE = y
MOD_IN_SUB_DIRS += lmc
endif
endif
-
-# If anything built-in uses syncppp, then build it into the kernel also.
-# If not, but a module uses it, build as a module.
-
-ifdef CONFIG_SYNCPPP_BUILTIN
-LX_OBJS += syncppp.o
-else
- ifdef CONFIG_SYNCPPP_MODULE
- MX_OBJS += syncppp.o
- endif
-endif
-
-# If anything built-in uses Z85230, then build it into the kernel also.
-# If not, but a module uses it, build as a module.
-
-ifdef CONFIG_85230_BUILTIN
-LX_OBJS += z85230.o
-else
- ifdef CONFIG_85230_MODULE
- MX_OBJS += z85230.o
- endif
-endif
-
-ifeq ($(CONFIG_DLCI),y)
-L_OBJS += dlci.o
-else
- ifeq ($(CONFIG_DLCI),m)
- M_OBJS += dlci.o
- endif
-endif
-
-ifeq ($(CONFIG_SDLA),y)
- L_OBJS += sdla.o
-else
- ifeq ($(CONFIG_SDLA),m)
- M_OBJS += sdla.o
- endif
-endif
-
-ifeq ($(CONFIG_VENDOR_SANGOMA),y)
- LX_OBJS += sdladrv.o
- L_OBJS += sdlamain.o
- ifeq ($(CONFIG_WANPIPE_X25),y)
- L_OBJS += sdla_x25.o
- endif
- ifeq ($(CONFIG_WANPIPE_CHDLC),y)
- L_OBJS += sdla_chdlc.o
- endif
- ifeq ($(CONFIG_WANPIPE_FR),y)
- L_OBJS += sdla_fr.o
- endif
- ifeq ($(CONFIG_WANPIPE_PPP),y)
- L_OBJS += sdla_ppp.o
- endif
-endif
-
-ifeq ($(CONFIG_VENDOR_SANGOMA),m)
- MX_OBJS += sdladrv.o
- M_OBJS += wanpipe.o
- WANPIPE_OBJS = sdlamain.o
- ifeq ($(CONFIG_WANPIPE_X25),y)
- WANPIPE_OBJS += sdla_x25.o
- endif
- ifeq ($(CONFIG_WANPIPE_FR),y)
- WANPIPE_OBJS += sdla_fr.o
- endif
- ifeq ($(CONFIG_WANPIPE_CHDLC),y)
- WANPIPE_OBJS += sdla_chdlc.o
- endif
- ifeq ($(CONFIG_WANPIPE_PPP),y)
- WANPIPE_OBJS += sdla_ppp.o
- endif
-endif
-
-ifeq ($(CONFIG_CYCLADES_SYNC),y)
- LX_OBJS += cycx_drv.o
- L_OBJS += cycx_main.o
- ifeq ($(CONFIG_CYCLOMX_X25),y)
- L_OBJS += cycx_x25.o
- endif
-endif
-
-ifeq ($(CONFIG_CYCLADES_SYNC),m)
- MX_OBJS += cycx_drv.o
- M_OBJS += cyclomx.o
- CYCLOMX_OBJS = cycx_main.o
- ifeq ($(CONFIG_CYCLOMX_X25),y)
- CYCLOMX_OBJS += cycx_x25.o
- endif
-endif
-
-ifeq ($(CONFIG_X25_ASY),y)
-L_OBJS += x25_asy.o
-else
- ifeq ($(CONFIG_X25_ASY),m)
- M_OBJS += x25_asy.o
- endif
-endif
-
-ifeq ($(CONFIG_LAPBETHER),y)
-L_OBJS += lapbether.o
-else
- ifeq ($(CONFIG_LAPBETHER),m)
- M_OBJS += lapbether.o
- endif
-endif
-
-ifeq ($(CONFIG_SBNI),y)
-L_OBJS += sbni.o
-else
- ifeq ($(CONFIG_SBNI),m)
- M_OBJS += sbni.o
- endif
-endif
+obj-$(CONFIG_DLCI) += dlci.o
+obj-$(CONFIG_SDLA) += sdla.o
+obj-$(CONFIG_VENDOR_SANGOMA) += sdladrv.o wanpipe.o
+obj-$(CONFIG_CYCLADES_SYNC) += cycx_drv.o cyclomx.o
+obj-$(CONFIG_LAPBETHER) += lapbether.o
+obj-$(CONFIG_SBNI) += sbni.o
+
+
+# Extract lists of the multi-part drivers.
+# The 'int-*' lists are the intermediate files used to build the multi's.
+multi-y := $(filter $(list-multi), $(obj-y))
+multi-m := $(filter $(list-multi), $(obj-m))
+int-y := $(sort $(foreach m, $(multi-y), $($(basename $(m))-objs)))
+int-m := $(sort $(foreach m, $(multi-m), $($(basename $(m))-objs)))
+
+# Files that are both resident and modular: remove from modular.
+obj-m := $(filter-out $(obj-y), $(obj-m))
+int-m := $(filter-out $(int-y), $(int-m))
+
+# Take multi-part drivers out of obj-y and put components in.
+obj-y := $(filter-out $(list-multi), $(obj-y)) $(int-y)
+
+# Translate to Rules.make lists.
+O_OBJS := $(filter-out $(export-objs), $(obj-y))
+OX_OBJS := $(filter $(export-objs), $(obj-y))
+M_OBJS := $(sort $(filter-out $(export-objs), $(obj-m)))
+MX_OBJS := $(sort $(filter $(export-objs), $(obj-m)))
+MI_OBJS := $(sort $(filter-out $(export-objs), $(int-m)))
+MIX_OBJS := $(sort $(filter $(export-objs), $(int-m)))
include $(TOPDIR)/Rules.make
-clean:
- rm -f core *.o *.a *.s
-
-wanpipe.o: $(WANPIPE_OBJS)
- $(LD) -r -o $@ $(WANPIPE_OBJS)
+wanpipe.o: $(wanpipe-objs)
+ $(LD) -r -o $@ $(wanpipe-objs)
-cyclomx.o: $(CYCLOMX_OBJS)
- $(LD) -r -o $@ $(CYCLOMX_OBJS)
+cyclomx.o: $(cyclomx-objs)
+ $(LD) -r -o $@ $(cyclomx-objs)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)