1
mirror of https://code.videolan.org/videolan/vlc synced 2024-07-25 09:41:30 +02:00
vlc/Makefile.dep
Sam Hocevar 9e3ab283c2 * ALL: the first libvlc commit.
As for video output 4, this breaks almost everything, but I'll slowly
  do what remains to be fixed during the weekend.

   Changes in vlc:
   ===============

  * vlc is now a very small program (20 lines) which uses the libvlc API;
   it is quite simple for the moment but can be extended in the future.

  * interfaces, decoders, video outputs, etc. are now almost the same
   objects (yes, I know, this is C++ redone in C) and are structured in
   a tree. More about this later, but basically it allows the following
   nice features:
    - several interfaces
    - several playlists with several outputs
    - input plugins spawning helper interfaces (will be used for DVD menus)
    - anything spawning anything; I swear there are useful uses for this!

  * libvlc can be used in other programs; I'm currently writing a Mozilla
   plugin for my employer.

   Things currently broken:
   ========================

  * most interfaces, most ports
  * the playlist handling (almost finished rewriting this though). This means
   no file can be played from the GUI, you need to use the commandline. This
   also means it segfaults at EOF, when exiting the program, and it sometimes
   refuses to open a file when asked to.
2002-06-01 12:32:02 +00:00

74 lines
3.1 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)
CFLAGS += -DMAKE_DEP
$(C_DEP): .dep/%.d: %.c
@test -d .dep/$(dir $*) || mkdir -p $(shell dirname .dep/$*)
@echo "make[$(MAKELEVEL)]: Generating dependencies for \`$*.c'"
@$(SHELL) -ec '$(CC) -M $(CFLAGS) 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 "make[$(MAKELEVEL)]: Generating dependencies for \`$*.cpp'"
@$(SHELL) -ec '$(CC) -M $(CFLAGS) 2>/dev/null $< \
| sed '\''s/$(subst .,\.,$(notdir $*))\.o[ :]*/$(subst /,\/,$*).o \
.dep\/$(subst /,\/,$*).dpp : /g'\'' > $@; \
[ -s $@ ] || rm -f $@'
$(M_DEP): .dep/%.dm: %.m
@test -d .dep/$(dir $*) || mkdir -p $(shell dirname .dep/$*)
@echo "make[$(MAKELEVEL)]: Generating dependencies for \`$*.m'"
@$(SHELL) -ec '$(CC) -M $(CFLAGS) 2>/dev/null $< \
| sed '\''s/$(subst .,\.,$(notdir $*))\.o[ :]*/$(subst /,\/,$*).o \
.dep\/$(subst /,\/,$*).dm : /g'\'' > $@; \
[ -s $@ ] || rm -f $@'