mirror of
https://github.com/videolan/vlc.git
synced 2024-12-13 11:44:18 +08:00
641341e854
* Updated ChangeLog. * Fixed a typo in Makefile.dep.
64 lines
2.7 KiB
Makefile
64 lines
2.7 KiB
Makefile
################################################################################
|
|
# vlc (VideoLAN Client) dependencies makefile
|
|
# (c)1998 VideoLAN
|
|
################################################################################
|
|
# This Makefile is dedicated to build of .d files. It should not be called
|
|
# directly by user, but only through main Makefile.
|
|
################################################################################
|
|
|
|
###############################################################################
|
|
# Note on generic rules and dependencies
|
|
###############################################################################
|
|
|
|
# Note on dependencies: each .c file is associated with a .d file, which
|
|
# 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/
|
|
# directory.
|
|
# The dep directory should be ignored by CVS.
|
|
|
|
# Note on inclusions: depending of the target, the dependencies files must
|
|
# or must not be included. The problem is that if we ask make to include a file,
|
|
# 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
|
|
# needs to be re-made.
|
|
|
|
# The object Makefile knows how to make a .o from a .c, and includes
|
|
# dependencies for the target, but only those required.
|
|
|
|
# All settings and options are passed through main Makefile
|
|
|
|
################################################################################
|
|
# Default target
|
|
################################################################################
|
|
|
|
default:
|
|
@echo "This Makefile should not be called directly,"
|
|
@echo "see notes at end of main Makefile."
|
|
|
|
################################################################################
|
|
# Dependencies creation
|
|
################################################################################
|
|
|
|
# A dependencies file needs to be rebuilt if the .c changed or if one of the
|
|
# dependencies files have been changed. In other words, it depends from the
|
|
# .c and from itself.
|
|
|
|
-include $(MAKECMDGOALS)
|
|
|
|
$(C_DEP): .dep/%.d: %.c
|
|
@test -d .dep/$(dir $*) || mkdir -p $(shell dirname .dep/$*)
|
|
@echo "regenerating dependencies for $*.c"
|
|
@$(SHELL) -ec '$(CC) $(DCFLAGS) $(CFLAGS) $(DEFINE) 2>/dev/null $< \
|
|
| sed '\''s/$(subst .,\.,$(notdir $*))\.o[ :]*/$(subst /,\/,$*).o \
|
|
.dep\/$(subst /,\/,$*).d : /g'\'' > $@; \
|
|
[ -s $@ ] || rm -f $@'
|
|
|
|
$(CPP_DEP): .dep/%.dpp: %.cpp
|
|
@test -d .dep/$(dir $*) || mkdir -p $(shell dirname .dep/$*)
|
|
@echo "regenerating dependencies for $*.c"
|
|
@$(SHELL) -ec '$(CC) $(DCFLAGS) $(CFLAGS) $(DEFINE) 2>/dev/null $< \
|
|
| sed '\''s/$(subst .,\.,$(notdir $*))\.o[ :]*/$(subst /,\/,$*).o \
|
|
.dep\/$(subst /,\/,$*).dpp : /g'\'' > $@; \
|
|
[ -s $@ ] || rm -f $@'
|
|
|