Makefile.in 13.7 KB
Newer Older
Michel Kaempf's avatar
Michel Kaempf committed
1 2 3 4 5 6 7 8 9 10 11
################################################################################
# vlc (VideoLAN Client) main makefile
# (c)1998 VideoLAN
################################################################################
# This makefile is the main makefile for the VideoLAN client.
################################################################################

################################################################################
# Configuration
################################################################################

12
# Audio output settings
13
AOUT += dsp
14
#AOUT += esd
15
# Not yet supported
16
#AOUT += alsa
17
# Fallback method that should always work
18
AOUT += dummy
19

Vincent Seguin's avatar
Vincent Seguin committed
20
# Video output settings
21
VOUT += x11
22 23 24
#VOUT += fb
#VOUT += ggi
#VOUT += glide
25
#VOUT += gnome
26 27
# Not yet supported
#VOUT += mga
28
#VOUT += beos
29 30 31 32 33
#VOUT += dga
# Fallback method that should always work
VOUT += dummy

# Interface settings
34
INTF += x11
35 36 37
#INTF += fb
#INTF += ggi
#INTF += glide
38
#INTF += gnome
39 40
# Not yet supported
#INTF += mga
41
#INTF += beos
42
#INTF += dga
43
# Fallback method that should always work
44
INTF += dummy
Vincent Seguin's avatar
Vincent Seguin committed
45

46 47
# Target architecture
ARCH=X86
Vincent Seguin's avatar
Vincent Seguin committed
48
#ARCH=PPC
49
#ARCH=SPARC
Vincent Seguin's avatar
Vincent Seguin committed
50

Vincent Seguin's avatar
Vincent Seguin committed
51 52
# Target operating system
SYS=LINUX
53
#SYS=GNU
Vincent Seguin's avatar
Vincent Seguin committed
54 55 56
#SYS=BSD
#SYS=BEOS

57
# For x86 architecture, choose MMX support
58
ARCH += MMX
59 60
# For x86 architecture, optimize for Pentium Pro
# (choose NO if you get `Invalid instruction' errors)
61
ARCH += PPRO
62

63
# Decoder choice - ?? old decoder will be removed soon
64 65
#DECODER=old
DECODER=new
Vincent Seguin's avatar
Vincent Seguin committed
66

Vincent Seguin's avatar
Vincent Seguin committed
67
# Debugging mode on or off (set to 1 to activate)
68
DEBUG=0
69

Vincent Seguin's avatar
Vincent Seguin committed
70 71
#----------------- do not change anything below this line ----------------------

72 73
prefix=@prefix@
INSTALL=@INSTALL@
74

Vincent Seguin's avatar
Vincent Seguin committed
75 76 77 78
################################################################################
# Configuration pre-processing
################################################################################

79 80
SNAPSHOTDIR=vlc-@VLC_VERSION@

Vincent Seguin's avatar
Vincent Seguin committed
81
# PROGRAM_OPTIONS is an identification string of the compilation options
82
PROGRAM_OPTIONS = $(SYS) $(ARCH)
Vincent Seguin's avatar
Vincent Seguin committed
83
ifeq ($(DEBUG),1)
Vincent Seguin's avatar
Vincent Seguin committed
84 85 86 87
PROGRAM_OPTIONS += DEBUG
endif

# PROGRAM_BUILD is a complete identification of the build
88 89
# ( we can't use fancy options with date since OSes like Solaris
# or FreeBSD have strange date implementations )
90 91 92
PROGRAM_BUILD = `date` $(USER)
# XXX: beos does not support hostname
#PROGRAM_BUILD = `date` $(USER)@`hostname`
Vincent Seguin's avatar
Vincent Seguin committed
93 94

# DEFINE will contain some of the constants definitions decided in Makefile, 
95
# including ARCH_xx and SYS_xx. It will be passed to C compiler.
96
DEFINE += -DARCH_$(shell echo $(ARCH) | cut -f1 -d' ')
Vincent Seguin's avatar
Vincent Seguin committed
97
DEFINE += -DSYS_$(SYS)
98 99
DEFINE += -DPLUGIN_PATH="\"$(prefix)/lib/videolan/vlc\""
DEFINE += -DDATA_PATH="\"$(prefix)/share/videolan/vlc\""
100 101
#DEFINE += -DPROGRAM_OPTIONS="\"$(shell echo $(PROGRAM_OPTIONS) | tr 'A-Z' 'a-z')\""
#DEFINE += -DPROGRAM_BUILD="\"$(PROGRAM_BUILD)\""
Vincent Seguin's avatar
Vincent Seguin committed
102
ifeq ($(DEBUG),1)
Vincent Seguin's avatar
Vincent Seguin committed
103 104
DEFINE += -DDEBUG
endif
Vincent Seguin's avatar
Vincent Seguin committed
105

Michel Kaempf's avatar
Michel Kaempf committed
106
################################################################################
107
# Tuning and other variables - do not change anything except if you know
Vincent Seguin's avatar
Vincent Seguin committed
108
# exactly what you are doing
Michel Kaempf's avatar
Michel Kaempf committed
109 110 111 112 113
################################################################################

#
# C headers directories
#
114
INCLUDE += -Iinclude -I/usr/local/include -I/usr/X11R6/include
Vincent Seguin's avatar
Vincent Seguin committed
115

Michel Kaempf's avatar
Michel Kaempf committed
116 117 118
#
# Libraries
#
119 120

ifeq ($(SYS),GNU)
121 122 123 124 125 126
LIB += -lthreads -ldl
endif

ifeq ($(SYS),BSD)
LIB += -pthread -lgnugetopt
LIB += -L/usr/local/lib
127
endif
128 129 130 131 132

ifeq ($(SYS),LINUX)
LIB += -lpthread -ldl
endif

133 134 135
ifeq ($(SYS),BEOS)
LIB += -lbe -lroot -lgame
else
136
LIB += -lm
137
endif
138

Michel Kaempf's avatar
Michel Kaempf committed
139 140 141
#
# C compiler flags: compilation
#
Vincent Seguin's avatar
Vincent Seguin committed
142
CCFLAGS += $(DEFINE) $(INCLUDE)
Michel Kaempf's avatar
Michel Kaempf committed
143 144 145 146
CCFLAGS += -Wall
CCFLAGS += -D_REENTRANT
CCFLAGS += -D_GNU_SOURCE

147 148 149
# flags needed for clean beos compilation
CCFLAGS += -Wno-multichar -Wno-ctor-dtor-privacy -Woverloaded-virtual

Michel Kaempf's avatar
Michel Kaempf committed
150
# Optimizations : don't compile debug versions with them
151 152
CCFLAGS += -O6
CCFLAGS += -ffast-math -funroll-loops -fargument-noalias-global
153
CCFLAGS += -fomit-frame-pointer
154

155
# Optimizations for x86 familiy
156
ifneq (,$(findstring X86,$(ARCH)))
157
CCFLAGS += -malign-double
158
#CCFLAGS += -march=pentium
159 160
# Eventual Pentium Pro optimizations
ifneq (,$(findstring PPRO,$(ARCH)))
161
ifneq ($(SYS), BSD)
162 163
CCFLAGS += -march=pentiumpro
endif
164
endif
165
# Eventual MMX optimizations for x86
166
ifneq (,$(findstring MMX,$(ARCH)))
167 168
CFLAGS += -DHAVE_MMX
endif
Vincent Seguin's avatar
Vincent Seguin committed
169
endif
170

Vincent Seguin's avatar
Vincent Seguin committed
171
# Optimizations for PowerPC
172
ifneq (,$(findstring PPC,$(ARCH)))
Vincent Seguin's avatar
Vincent Seguin committed
173 174
CCFLAGS += -mcpu=604e -mmultiple -mhard-float -mstring
endif
Michel Kaempf's avatar
Michel Kaempf committed
175

176
# Optimizations for Sparc
177
ifneq (,$(findstring SPARC,$(ARCH)))
178 179 180
CCFLAGS += -mhard-float
endif

Michel Kaempf's avatar
Michel Kaempf committed
181 182 183 184 185 186 187 188 189 190 191
#
# C compiler flags: dependancies
#
DCFLAGS += $(INCLUDE)
DCFLAGS += -MM

#
# C compiler flags: linking
#
LCFLAGS += $(LIB)
LCFLAGS += -Wall
Vincent Seguin's avatar
Vincent Seguin committed
192
#LCFLAGS += -s
Michel Kaempf's avatar
Michel Kaempf committed
193 194 195 196

#
# Additionnal debugging flags
#
Vincent Seguin's avatar
Vincent Seguin committed
197 198

# Debugging support
Vincent Seguin's avatar
Vincent Seguin committed
199
ifeq ($(DEBUG),1)
Vincent Seguin's avatar
Vincent Seguin committed
200
CFLAGS += -g
201
CFLAGS += -pg
Vincent Seguin's avatar
Vincent Seguin committed
202
endif
Michel Kaempf's avatar
Michel Kaempf committed
203 204 205 206 207 208

#################################################################################
# Objects and files
#################################################################################

#
Vincent Seguin's avatar
Vincent Seguin committed
209
# C Objects
Michel Kaempf's avatar
Michel Kaempf committed
210 211 212 213 214 215
# 
interface_obj =  		interface/main.o \
						interface/interface.o \
						interface/intf_msg.o \
						interface/intf_cmd.o \
						interface/intf_ctrl.o \
216
						interface/intf_console.o
Michel Kaempf's avatar
Michel Kaempf committed
217 218 219 220 221 222 223 224 225 226

input_obj =         		input/input_vlan.o \
						input/input_file.o \
						input/input_netlist.o \
						input/input_network.o \
						input/input_ctrl.o \
						input/input_pcr.o \
						input/input_psi.o \
						input/input.o

227
audio_output_obj = 		audio_output/audio_output.o
Michel Kaempf's avatar
Michel Kaempf committed
228

Vincent Seguin's avatar
Vincent Seguin committed
229
video_output_obj = 		video_output/video_output.o \
Vincent Seguin's avatar
Vincent Seguin committed
230
						video_output/video_text.o \
Sam Hocevar's avatar
NEWS:  
Sam Hocevar committed
231
						video_output/video_spu.o \
232
						video_output/video_yuv.o
Michel Kaempf's avatar
Michel Kaempf committed
233

234 235
ac3_decoder_obj =		ac3_decoder/ac3_decoder_thread.o \
						ac3_decoder/ac3_decoder.o \
236 237 238 239 240 241 242
						ac3_decoder/ac3_parse.o \
						ac3_decoder/ac3_exponent.o \
						ac3_decoder/ac3_bit_allocate.o \
						ac3_decoder/ac3_mantissa.o \
						ac3_decoder/ac3_rematrix.o \
						ac3_decoder/ac3_imdct.o \
						ac3_decoder/ac3_downmix.o
243 244 245
						
lpcm_decoder_obj =		lpcm_decoder/lpcm_decoder_thread.o \
						lpcm_decoder/lpcm_decoder.o
Michel Kaempf's avatar
Michel Kaempf committed
246

247 248
audio_decoder_obj =		audio_decoder/audio_decoder_thread.o \
						audio_decoder/audio_decoder.o \
249
						audio_decoder/audio_math.o
Michel Kaempf's avatar
Michel Kaempf committed
250

251
spu_decoder_obj =		spu_decoder/spu_decoder.o
252

Vincent Seguin's avatar
Vincent Seguin committed
253 254
#??generic_decoder_obj =		generic_decoder/generic_decoder.o
# remeber to add it to OBJ 
255

256
ifeq ($(DECODER),old)
257
CFLAGS += -DOLD_DECODER
258 259 260 261 262 263 264 265 266 267
video_decoder_obj =		video_decoder_ref/video_decoder.o \
						video_decoder_ref/display.o \
						video_decoder_ref/getblk.o \
						video_decoder_ref/gethdr.o \
						video_decoder_ref/getpic.o \
						video_decoder_ref/getvlc.o \
						video_decoder_ref/idct.o \
						video_decoder_ref/motion.o \
						video_decoder_ref/mpeg2dec.o \
						video_decoder_ref/recon.o \
268 269 270 271 272 273 274 275 276 277
						video_decoder_ref/spatscal.o
else
video_parser_obj = 		video_parser/video_parser.o \
						video_parser/vpar_headers.o \
						video_parser/vpar_blocks.o \
						video_parser/vpar_synchro.o \
						video_parser/video_fifo.o

video_decoder_obj =		video_decoder/video_decoder.o \
						video_decoder/vdec_motion.o \
278
						video_decoder/vdec_motion_inner.o \
Vincent Seguin's avatar
Vincent Seguin committed
279
			                        video_decoder/vdec_idct.o
280
endif
281

Michel Kaempf's avatar
Michel Kaempf committed
282 283
misc_obj =			misc/mtime.o \
						misc/rsc_files.o \
284
						misc/netutils.o \
285
						misc/plugins.o \
286
						misc/decoder_fifo.o
Michel Kaempf's avatar
Michel Kaempf committed
287

288

289
C_OBJ = $(interface_obj) \
Michel Kaempf's avatar
Michel Kaempf committed
290 291 292
		$(input_obj) \
		$(audio_output_obj) \
		$(video_output_obj) \
Michel Kaempf's avatar
Michel Kaempf committed
293
		$(ac3_decoder_obj) \
294
		$(lpcm_decoder_obj) \
Michel Kaempf's avatar
Michel Kaempf committed
295
		$(audio_decoder_obj) \
296
		$(spu_decoder_obj) \
Michel Kaempf's avatar
Michel Kaempf committed
297
		$(generic_decoder_obj) \
298
		$(video_parser_obj) \
Michel Kaempf's avatar
Michel Kaempf committed
299 300
		$(video_decoder_obj) \
		$(vlan_obj) \
Vincent Seguin's avatar
Vincent Seguin committed
301
		$(misc_obj)
Michel Kaempf's avatar
Michel Kaempf committed
302

303 304 305 306
ifeq ($(SYS), BEOS)
CPP_OBJ =			misc/beos_specific.o
endif

Vincent Seguin's avatar
Vincent Seguin committed
307 308 309
#
# Assembler Objects
# 
310 311
ifneq (,$(findstring X86,$(ARCH)))
ifneq (,$(findstring MMX,$(ARCH)))
312
ifeq ($(DECODER),new)
313
ASM_OBJ = 			video_decoder/vdec_idctmmx.o \
Vincent Seguin's avatar
Vincent Seguin committed
314 315
						video_output/video_yuv_mmx.o
else
316
ASM_OBJ = 			video_decoder_ref/vdec_idctmmx.o \
Vincent Seguin's avatar
Vincent Seguin committed
317 318 319
						video_output/video_yuv_mmx.o
endif
endif
320
endif
Vincent Seguin's avatar
Vincent Seguin committed
321

322 323 324
#
# Plugins
#
325 326 327
intf_plugin =           $(INTF:%=plugins/intf/intf_%.so)
aout_plugin =           $(AOUT:%=plugins/aout/aout_%.so)
vout_plugin =           $(VOUT:%=plugins/vout/vout_%.so)
328

329
PLUGIN_OBJ = $(intf_plugin) $(aout_plugin) $(vout_plugin)
330

Michel Kaempf's avatar
Michel Kaempf committed
331 332 333
#
# Other lists of files
#
334
C_OBJ := $(C_OBJ:%.o=src/%.o)
335
CPP_OBJ := $(CPP_OBJ:%.o=src/%.o)
336
ASM_OBJ := $(ASM_OBJ:%.o=src/%.o)
337 338
sources_c := $(C_OBJ:%.o=%.c)
dependancies := $(sources_c:%.c=.dep/%.d)
Michel Kaempf's avatar
Michel Kaempf committed
339 340 341 342 343 344 345 346 347 348 349

# All symbols must be exported
export

################################################################################
# Targets
################################################################################

#
# Virtual targets
#
350
all: vlc plugins
Michel Kaempf's avatar
Michel Kaempf committed
351 352

clean:
353
	rm -f $(C_OBJ) $(CPP_OBJ) $(ASM_OBJ) $(PLUGIN_OBJ)
Michel Kaempf's avatar
Michel Kaempf committed
354 355

distclean: clean
356
	rm -f **/*.o **/*.so **/*~ *.log
357
	rm -f Makefile include/defs.h config.cache config.log
Vincent Seguin's avatar
Vincent Seguin committed
358
	rm -f vlc gmon.out core
359 360 361
	rm -rf .dep

install:
362 363 364 365 366
	$(INSTALL) vlc $(prefix)/bin
	mkdir -p $(prefix)/lib/videolan/vlc
	$(INSTALL) $(PLUGIN_OBJ) $(prefix)/lib/videolan/vlc
	$(INSTALL) share/*.psf $(prefix)/share/videolan/vlc
	$(INSTALL) share/*.png $(prefix)/share/videolan/vlc
Michel Kaempf's avatar
Michel Kaempf committed
367

Vincent Seguin's avatar
Vincent Seguin committed
368 369 370 371 372 373 374
show:
	@echo "Command line for C objects:"
	@echo $(CC) $(CCFLAGS) $(CFLAGS) -c -o "<dest.o>" "<src.c>"
	@echo
	@echo "Command line for assembler objects:"
	@echo $(CC) $(CFLAGS) -c -o "<dest.o>" "<src.S>"

Sam Hocevar's avatar
Sam Hocevar committed
375 376 377 378 379 380 381 382 383 384 385 386 387 388 389
# ugliest of all, but I have no time to do it -- sam
snapshot:
	rm -rf /tmp/${SNAPSHOTDIR}
	mkdir /tmp/${SNAPSHOTDIR}
	cp -a * /tmp/${SNAPSHOTDIR}
		(cd /tmp/${SNAPSHOTDIR} ; \
		make distclean ; \
		find . -type d -name CVS | xargs rm -rf ; \
		find . -type f -name '.*.swp' | xargs rm -f ; \
		cd .. ; \
		tar czvf ${SNAPSHOTDIR}.tar.gz ${SNAPSHOTDIR} )
	rm -rf /tmp/${SNAPSHOTDIR}
	mv /tmp/${SNAPSHOTDIR}.tar.gz ..
	@echo "Sources are in ../${SNAPSHOTDIR}.tar.gz"

Michel Kaempf's avatar
Michel Kaempf committed
390 391 392 393 394
FORCE:

#
# Real targets
#
395 396 397 398 399 400 401 402 403
vlc: $(C_OBJ) $(CPP_OBJ) $(ASM_OBJ)
ifeq ($(SYS), BEOS)
	$(CC) $(CCFLAGS) $(LCFLAGS) $(CFLAGS) -Xlinker -soname=_APP_ -o $@ $(C_OBJ) $(CPP_OBJ) $(ASM_OBJ)
#	ln -s ../vlc ./plugins/_APP_
else
	$(CC) $(CCFLAGS) $(LCFLAGS) $(CFLAGS) --export-dynamic -rdynamic -o $@ $(C_OBJ) $(CPP_OBJ) $(ASM_OBJ)	
endif

plugins: $(PLUGIN_OBJ)
Michel Kaempf's avatar
Michel Kaempf committed
404 405 406 407 408

#
# Generic rules (see below)
#
$(dependancies): %.d: FORCE
409
	@$(MAKE) -s --no-print-directory -f Makefile.dep $@
Michel Kaempf's avatar
Michel Kaempf committed
410

411
$(C_OBJ): %.o: Makefile.dep
412
$(C_OBJ): %.o: .dep/%.d
413
$(C_OBJ): %.o: %.c
414
	@echo "compiling $*.o from $*.c"
Vincent Seguin's avatar
Vincent Seguin committed
415 416
	@$(CC) $(CCFLAGS) $(CFLAGS) -c -o $@ $<

417 418 419 420
$(CPP_OBJ): %.o: %.cpp
	@echo "compiling $*.o from $*.cpp"
	@$(CC) $(CCFLAGS) $(CFLAGS) -c -o $@ $<

421
$(ASM_OBJ): %.o: Makefile.dep
422
$(ASM_OBJ): %.o: %.S
423
	@echo "assembling $*.o from $*.S"
Vincent Seguin's avatar
Vincent Seguin committed
424
	@$(CC) $(CFLAGS) -c -o $@ $<
Michel Kaempf's avatar
Michel Kaempf committed
425

426 427
#$(PLUGIN_OBJ): %.so: Makefile.dep
#$(PLUGIN_OBJ): %.so: .dep/%.d
428 429

# audio plugins
430
plugins/aout/aout_dummy.so plugins/aout/aout_dsp.so: %.so: %.c
431
		@echo "compiling $*.so from $*.c"
432
ifeq ($(SYS), BEOS)
433
		@$(CC) $(CCFLAGS) $(CFLAGS) -nostart -Xlinker -soname=$@ -o $@ $< plugins/_APP_
434
else
435
		@$(CC) $(CCFLAGS) $(CFLAGS) -shared -o $@ $<
436
endif
437

438
plugins/aout/aout_esd.so: %.so: %.c
439
		@echo "compiling $*.so from $*.c"
440 441 442
ifeq ($(SYS), BSD)
		@$(CC) $(CCFLAGS) $(CFLAGS) -lesd -shared -o $@ $<
else
443
		@$(CC) $(CCFLAGS) $(CFLAGS) -laudiofile -lesd -shared -o $@ $<
444
endif
445 446

# video plugins
447 448
plugins/intf/intf_dummy.so plugins/vout/vout_dummy.so \
	plugins/intf/intf_fb.so plugins/vout/vout_fb.so: %.so: %.c
449
		@echo "compiling $*.so from $*.c"
450
ifeq ($(SYS), BEOS)
451
		@$(CC) $(CCFLAGS) $(CFLAGS) -nostart -Xlinker -soname=$@ -o $@ $< plugins/_APP_
452
else
453
		@$(CC) $(CCFLAGS) $(CFLAGS) -shared -o $@ $<
454
endif
455

456
plugins/intf/intf_x11.so plugins/vout/vout_x11.so: %.so: %.c
457 458 459
		@echo "compiling $*.so from $*.c"
		@$(CC) $(CCFLAGS) $(CFLAGS) -I/usr/X11R6/include -L/usr/X11R6/lib -lX11 -lXext -shared -o $@ $<

460 461 462 463
plugins/intf/intf_mga.so plugins/vout/vout_mga.so: %.so: %.c
		@echo "compiling $*.so from $*.c"
		@$(CC) $(CCFLAGS) $(CFLAGS) -I/usr/X11R6/include -L/usr/X11R6/lib -lX11 -lXext -shared -o $@ $<

464 465 466 467 468 469 470 471
plugins/intf/intf_gnome.so: %.so: %.c
		@echo "compiling $*.so from $*.c"
		@$(CC) $(CCFLAGS) $(CFLAGS) $(LCFLAGS) `gnome-config --libs --cflags gnomeui` -shared -o $@ $< plugins/intf/intf_gnome_callbacks.c plugins/intf/intf_gnome_interface.c plugins/intf/intf_gnome_support.c

plugins/vout/vout_gnome.so: %.so: %.c
		@echo "compiling $*.so from $*.c"
		@$(CC) $(CCFLAGS) $(CFLAGS) -I/usr/X11R6/include -L/usr/X11R6/lib -lX11 -lXext -shared -o $@ $<

472
plugins/intf/intf_glide.so plugins/vout/vout_glide.so: %.so: %.c
473 474 475
		@echo "compiling $*.so from $*.c"
		@$(CC) $(CCFLAGS) $(CFLAGS) -I/usr/include/glide -lglide2x -shared -o $@ $<

476
plugins/intf/intf_ggi.so plugins/vout/vout_ggi.so: %.so: %.c
477 478 479
		@echo "compiling $*.so from $*.c"
		@$(CC) $(CCFLAGS) $(CFLAGS) -lggi -shared -o $@ $<

480 481 482 483 484 485 486 487
plugins/intf/intf_beos.so: %.so: %.cpp
		@echo "compiling $*.so from $*.cpp"
		@$(CC) $(LCFLAGS) $(CCFLAGS) $(CFLAGS) -nostart -Xlinker -soname=$@ -o $@ $< plugins/_APP_

plugins/vout/vout_beos.so: %.so: %.cpp
		@echo "compiling $*.so from $*.cpp"
		@$(CC) $(LCFLAGS) $(CCFLAGS) $(CFLAGS) -nostart -Xlinker -soname=$@ -o $@ $< plugins/_APP_
		
488

Michel Kaempf's avatar
Michel Kaempf committed
489 490 491 492 493
################################################################################
# Note on generic rules and dependancies
################################################################################

# Note on dependancies: each .c file is associated with a .d file, which
494 495
# depends of it. The .o file associated with a .c file depends of the .d, of the
# .c itself, and of Makefile. The .d files are stored in a separate .dep/
Michel Kaempf's avatar
Michel Kaempf committed
496 497 498
# directory.
# The dep directory should be ignored by CVS.

499
# Note on inclusions: depending of the target, the dependancies files must
Michel Kaempf's avatar
Michel Kaempf committed
500
# or must not be included. The problem is that if we ask make to include a file,
501 502
# and this file does not exist, it is made before it can be included. In a
# general way, a .d file should be included if and only if the corresponding .o
Michel Kaempf's avatar
Michel Kaempf committed
503 504 505 506 507
# needs to be re-made.

# Two makefiles are used: the main one (this one) has regular generic rules,
# except for .o files, for which it calls the object Makefile. Dependancies
# are not included in this file.
Michel Kaempf's avatar
Michel Kaempf committed
508 509
# The object Makefile known how to make a .o from a .c, and includes
# dependancies for the target, but only those required.