Portability cleanup as required by Linus.
[linux-2.6/linux-mips.git] / drivers / char / Makefile
blob30e649ac06dc85d8e7f3798bcffb03648fbb5ac5
2 # Makefile for the kernel character device drivers.
4 # Note! Dependencies are done automagically by 'make dep', which also
5 # removes any old dependencies. DON'T put your own dependencies here
6 # unless it's something special (ie not a .c file).
8 # Note 2! The CFLAGS definitions are now inherited from the
9 # parent makes..
12 O_OBJS :=
13 OX_OBJS :=
14 M_OBJS :=
15 MX_OBJS :=
17 # Object file lists.
19 obj-y :=
20 obj-m :=
21 obj-n :=
22 obj- :=
24 SUB_DIRS :=
25 MOD_SUB_DIRS := $(SUB_DIRS)
26 ALL_SUB_DIRS := $(SUB_DIRS) ftape joystick pcmcia rio
29 # This file contains the font map for the default (hardware) font
31 FONTMAPFILE = cp437.uni
33 O_TARGET := char.o
34 obj-y += tty_io.o n_tty.o tty_ioctl.o mem.o raw.o pty.o misc.o random.o
36 # All of the (potential) objects that export symbols.
37 # This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'.
39 export-objs := busmouse.o console.o i2c-old.o keyboard.o sysrq.o \
40 misc.o pty.o random.o selection.o serial.o videodev.o \
41 tty_io.o bttv.o cpia.o
43 KEYMAP =defkeymap.o
44 KEYBD =pc_keyb.o
45 CONSOLE =console.o
46 SERIAL =serial.o
48 ifeq ($(ARCH),s390)
49 KEYMAP =
50 KEYBD =
51 CONSOLE =
52 SERIAL =
53 endif
55 ifeq ($(ARCH),m68k)
56 ifdef CONFIG_AMIGA
57 KEYBD = amikeyb.o
58 else
59 KEYBD =
60 endif
61 SERIAL =
62 endif
64 ifeq ($(ARCH),arm)
65 KEYMAP =
66 KEYBD =
67 CONSOLE =
68 endif
70 ifeq ($(ARCH),sh)
71 KEYMAP =
72 KEYBD =
73 CONSOLE =
74 SERIAL =
75 ifeq ($(CONFIG_SH_HP600),y)
76 KEYMAP = defkeymap.o
77 KEYBD = scan_keyb.o hp600_keyb.o
78 CONSOLE = console.o
79 endif
80 ifeq ($(CONFIG_SERIAL),y)
81 SERIAL = generic_serial.o sh-sci.o
82 else
83 ifeq ($(CONFIG_SERIAL),m)
84 SERIAL = sh-sci.o
85 endif
86 endif
87 endif
89 ifeq ($(CONFIG_DECSTATION),y)
90 KEYBD =
91 SERIAL =
92 endif
94 ifeq ($(CONFIG_BAGET_MIPS),y)
95 KEYBD =
96 SERIAL =
97 endif
99 ifneq ($(CONFIG_SUN_SERIAL),)
100 SERIAL =
101 endif
104 obj-$(CONFIG_VT) += vt.o vc_screen.o consolemap.o consolemap_deftbl.o $(CONSOLE) selection.o
105 obj-$(CONFIG_SERIAL) += $(SERIAL)
106 obj-$(CONFIG_SERIAL_21285) += serial_21285.o
108 ifndef CONFIG_SUN_KEYBOARD
109 obj-$(CONFIG_VT) += keyboard.o $(KEYMAP) $(KEYBD)
110 else
111 obj-$(CONFIG_PCI) += keyboard.o $(KEYMAP)
112 endif
114 obj-$(CONFIG_MAGIC_SYSRQ) += sysrq.o
116 obj-$(CONFIG_ATARI_DSP56K) += dsp56k.o
117 ifeq ($(CONFIG_ATARI_DSP56K),y)
118 S = y
119 else
120 ifeq ($(CONFIG_ATARI_DSP56K),m)
121 SM = y
122 endif
123 endif
125 obj-$(CONFIG_ROCKETPORT) += rocket.o
126 obj-$(CONFIG_MOXA_SMARTIO) += mxser.o
127 obj-$(CONFIG_MOXA_INTELLIO) += moxa.o
128 obj-$(CONFIG_DIGI) += pcxx.o
129 obj-$(CONFIG_DIGIEPCA) += epca.o
130 obj-$(CONFIG_CYCLADES) += cyclades.o
131 obj-$(CONFIG_STALLION) += stallion.o
132 obj-$(CONFIG_ISTALLION) += istallion.o
133 obj-$(CONFIG_COMPUTONE) += ip2.o ip2main.o
134 obj-$(CONFIG_RISCOM8) += riscom8.o
135 obj-$(CONFIG_ISI) += isicom.o
136 obj-$(CONFIG_ESPSERIAL) += esp.o
137 obj-$(CONFIG_SYNCLINK) += synclink.o
138 obj-$(CONFIG_N_HDLC) += n_hdlc.o
139 obj-$(CONFIG_SPECIALIX) += specialix.o
140 obj-$(CONFIG_AMIGA_BUILTIN_SERIAL) += amiserial.o
142 # After much ado, we found that an object can safely be declared as
143 # both a module and into the kernel. Below that is filtered out.
144 # So this should simply provide the wanted functionality!
145 obj-$(CONFIG_SX) += sx.o generic_serial.o
146 obj-$(CONFIG_RIO) += rio/rio.o generic_serial.o
149 ifeq ($(CONFIG_RIO),y)
150 SUB_DIRS += rio
151 else
152 ifeq ($(CONFIG_RIO),m)
153 MOD_SUB_DIRS += rio
154 endif
155 endif
157 obj-$(CONFIG_ATIXL_BUSMOUSE) += atixlmouse.o
158 obj-$(CONFIG_LOGIBUSMOUSE) += logibusmouse.o
159 obj-$(CONFIG_PRINTER) += lp.o
161 ifeq ($(CONFIG_JOYSTICK),y)
162 obj-y += joystick/js.o
163 SUB_DIRS += joystick
164 MOD_SUB_DIRS += joystick
165 else
166 ifeq ($(CONFIG_JOYSTICK),m)
167 MOD_SUB_DIRS += joystick
168 endif
169 endif
171 obj-$(CONFIG_BUSMOUSE) += busmouse.o
172 ifeq ($(CONFIG_BUSMOUSE),y)
173 M = y
174 else
175 ifeq ($(CONFIG_BUSMOUSE),m)
176 MM = m
177 endif
178 endif
180 obj-$(CONFIG_DTLK) += dtlk.o
181 obj-$(CONFIG_R3964) += n_r3964.o
182 obj-$(CONFIG_APPLICOM) += applicom.o
183 obj-$(CONFIG_MS_BUSMOUSE) += msbusmouse.o
184 obj-$(CONFIG_82C710_MOUSE) += qpmouse.o
185 obj-$(CONFIG_SOFT_WATCHDOG) += softdog.o
186 obj-$(CONFIG_PCWATCHDOG) += pcwd.o
187 obj-$(CONFIG_ACQUIRE_WDT) += acquirewdt.o
188 obj-$(CONFIG_MIXCOMWD) += mixcomwd.o
189 obj-$(CONFIG_60XX_WDT) += sbc60xxwdt.o
190 obj-$(CONFIG_AMIGAMOUSE) += amigamouse.o
191 obj-$(CONFIG_ATARIMOUSE) += atarimouse.o
192 obj-$(CONFIG_ADBMOUSE) += adbmouse.o
193 obj-$(CONFIG_PC110_PAD) += pc110pad.o
194 obj-$(CONFIG_WDT) += wdt.o
195 obj-$(CONFIG_WDTPCI) += wdt_pci.o
196 obj-$(CONFIG_RTC) += rtc.o
197 obj-$(CONFIG_EFI_RTC) += efirtc.o
198 ifeq ($(CONFIG_PPC),)
199 obj-$(CONFIG_NVRAM) += nvram.o
200 endif
202 obj-$(CONFIG_VIDEO_DEV) += videodev.o
204 obj-$(CONFIG_21285_WATCHDOG) += wdt285.o
205 obj-$(CONFIG_977_WATCHDOG) += wdt977.o
206 obj-$(CONFIG_DS1620) += ds1620.o
207 obj-$(CONFIG_INTEL_RNG) += i810_rng.o
210 # for external dependencies in arm/config.in and video/config.in
212 ifeq ($(CONFIG_BUS_I2C),y)
213 L_I2C=y
214 else
215 ifeq ($(CONFIG_BUS_I2C),m)
216 L_I2C=m
217 endif
218 endif
220 obj-$(CONFIG_VIDEO_BT848) += bttv.o msp3400.o \
221 tda7432.o tda8425.o tda985x.o tda9875.o tea6300.o tea6420.o
222 ifeq ($(CONFIG_VIDEO_BT848),y)
223 L_TUNERS=y
224 else
225 ifeq ($(CONFIG_VIDEO_BT848),m)
226 L_TUNERS=m
227 endif
228 endif
229 obj-$(CONFIG_SOUND_TVMIXER) += tvmixer.o
231 obj-$(CONFIG_VIDEO_ZR36120) += zoran.o
232 ifeq ($(CONFIG_VIDEO_ZR36120),y)
233 L_I2C=y
234 L_TUNERS=y
235 L_DECODERS=y
236 else
237 ifeq ($(CONFIG_VIDEO_ZR36120),m)
238 L_I2C=m
239 L_TUNERS=m
240 L_DECODERS=m
241 endif
242 endif
244 obj-$(CONFIG_I2C_PARPORT) += i2c-parport.o
245 ifeq ($(CONFIG_I2C_PARPORT),y)
246 L_I2C = y
247 else
248 ifeq ($(CONFIG_I2C_PARPORT),m)
249 L_I2C = m
250 endif
251 endif
253 obj-$(CONFIG_VIDEO_SAA5249) += saa5249.o
254 ifeq ($(CONFIG_VIDEO_SAA5249),y)
255 L_I2C=y
256 else
257 ifeq ($(CONFIG_VIDEO_SAA5249),m)
258 L_I2C=m
259 endif
260 endif
262 obj-$(CONFIG_VIDEO_CQCAM) += c-qcam.o
263 obj-$(CONFIG_VIDEO_BWQCAM) += bw-qcam.o
264 obj-$(CONFIG_VIDEO_ZORAN) += buz.o
265 ifeq ($(CONFIG_VIDEO_ZORAN),y)
266 L_I2C=y
267 L_DECODERS=y
268 else
269 ifeq ($(CONFIG_VIDEO_ZORAN),m)
270 L_I2C=m
271 L_DECODERS=m
272 endif
273 endif
275 obj-$(CONFIG_VIDEO_LML33) += bt856.o bt819.o
276 obj-$(CONFIG_VIDEO_PMS) += pms.o
277 obj-$(CONFIG_VIDEO_PLANB) += planb.o
278 obj-$(CONFIG_VIDEO_VINO) += vino.o
279 obj-$(CONFIG_VIDEO_STRADIS) += stradis.o
280 obj-$(CONFIG_VIDEO_CPIA) += cpia.o
281 obj-$(CONFIG_VIDEO_CPIA_PP) += cpia_pp.o
282 obj-$(CONFIG_VIDEO_CPIA_USB) += cpia_usb.o
283 obj-$(CONFIG_RADIO_AZTECH) += radio-aztech.o
284 obj-$(CONFIG_RADIO_RTRACK2) += radio-rtrack2.o
285 obj-$(CONFIG_RADIO_SF16FMI) += radio-sf16fmi.o
286 obj-$(CONFIG_RADIO_CADET) += radio-cadet.o
287 obj-$(CONFIG_RADIO_TYPHOON) += radio-typhoon.o
288 obj-$(CONFIG_RADIO_TERRATEC) += radio-terratec.o
289 obj-$(CONFIG_RADIO_RTRACK) += radio-aimslab.o
290 obj-$(CONFIG_RADIO_ZOLTRIX) += radio-zoltrix.o
291 obj-$(CONFIG_RADIO_MIROPCM20) += radio-miropcm20.o
292 obj-$(CONFIG_RADIO_GEMTEK) += radio-gemtek.o
293 obj-$(CONFIG_RADIO_TRUST) += radio-trust.o
294 obj-$(CONFIG_TUNER_3036) += tuner-3036.o
295 obj-$(CONFIG_QIC02_TAPE) += tpqic02.o
297 ifeq ($(CONFIG_FTAPE),y)
298 obj-y += ftape/ftape.o
299 SUB_DIRS += ftape
300 ifneq ($(CONFIG_ZFTAPE),n)
301 MOD_SUB_DIRS += ftape
302 endif
303 else
304 ifeq ($(CONFIG_FTAPE),m)
305 MOD_SUB_DIRS += ftape
306 endif
307 endif
309 obj-$(CONFIG_H8) += h8.o
310 obj-$(CONFIG_PPDEV) += ppdev.o
312 # set when a framegrabber supports external tuners
313 obj-$(L_TUNERS) += tuner.o
315 # set when a framegrabber supports external decoders
316 obj-$(L_DECODERS) += saa7110.o saa7111.o saa7185.o
318 # set when a framegrabber implements i2c support
319 obj-$(L_I2C) += i2c-old.o
321 obj-$(CONFIG_DZ) += dz.o
322 obj-$(CONFIG_NWBUTTON) += nwbutton.o
323 obj-$(CONFIG_NWFLASH) += nwflash.o
325 ifeq ($(CONFIG_DRM),y)
326 SUB_DIRS += drm
327 ALL_SUB_DIRS += drm
328 MOD_SUB_DIRS += drm
329 endif
331 ifeq ($(CONFIG_PCMCIA),y)
332 SUB_DIRS += pcmcia
333 MOD_IN_SUB_DIRS += pcmcia
334 else
335 ifeq ($(CONFIG_PCMCIA),m)
336 MOD_IN_SUB_DIRS += pcmcia
337 endif
338 endif
340 ifeq ($(CONFIG_AGP), y)
341 SUB_DIRS += agp
342 ALL_SUB_DIRS += agp
343 MOD_SUB_DIRS += agp
344 else
345 ifeq ($(CONFIG_AGP), m)
346 ALL_SUB_DIRS += agp
347 MOD_SUB_DIRS += agp
348 endif
349 endif
351 # Extract lists of the multi-part drivers.
352 # The 'int-*' lists are the intermediate files used to build the multi's.
354 multi-y := $(filter $(list-multi), $(obj-y))
355 multi-m := $(filter $(list-multi), $(obj-m))
356 int-y := $(sort $(foreach m, $(multi-y), $($(basename $(m))-objs)))
357 int-m := $(sort $(foreach m, $(multi-m), $($(basename $(m))-objs)))
359 # Files that are both resident and modular: remove from modular.
361 obj-m := $(filter-out $(obj-y), $(obj-m))
362 int-m := $(filter-out $(int-y), $(int-m))
364 # Take multi-part drivers out of obj-y and put components in.
366 obj-y := $(filter-out $(list-multi), $(obj-y)) $(int-y)
368 # Translate to Rules.make lists.
370 O_OBJS := $(filter-out $(export-objs), $(obj-y))
371 OX_OBJS := $(filter $(export-objs), $(obj-y))
372 M_OBJS := $(sort $(filter-out $(export-objs), $(obj-m)))
373 MX_OBJS := $(sort $(filter $(export-objs), $(obj-m)))
375 include $(TOPDIR)/Rules.make
377 fastdep:
379 conmakehash: conmakehash.c
380 $(HOSTCC) $(HOSTCFLAGS) -o conmakehash conmakehash.c
382 consolemap_deftbl.c: $(FONTMAPFILE) conmakehash
383 ./conmakehash $(FONTMAPFILE) > consolemap_deftbl.c
385 consolemap_deftbl.o: consolemap_deftbl.c $(TOPDIR)/include/linux/types.h
387 defkeymap.c: defkeymap.map
388 loadkeys --mktable defkeymap.map > defkeymap.c
390 zoran.o: zr36120.o zr36120_i2c.o zr36120_mem.o
391 $(LD) $(LD_RFLAG) -r -o $@ zr36120.o zr36120_i2c.o zr36120_mem.o