################################################################################ # vls (VideoLAN Server) module Makefile # (c)1999-2001 VideoLAN ################################################################################ # Makefile skeleton for modules building # The Makefile which includes this file at the end must define at least # - MODULE which is the name of the module; # - SRC which contains the files to be built. ################################################################################ # Files description ################################################################################ # # Object files # PLUGIN_OBJ:=$(MODULE_SRC:%.cpp=obj/%.o) BUILTIN_OBJ:=$(MODULE_SRC:%.cpp=obj/BUILTIN_%.o) # # Dependancies # MODULE_DEP:=$(MODULE_SRC:%.cpp=dep/%.d) $(MODULE_SRC:%.cpp=dep/BUILTIN_%.d) # export symbols for recursive Makefiles export ################################################################################ # Default target ################################################################################ default: @echo "This Makefile should not be called directly," ################################################################################ # Targets definition ################################################################################ # # Build rules # clean: rm -Rf obj distclean: clean rm -f ../../../bin/$(MODULE).so rm -f ../../../obj/$(MODULE).a rm -Rf dep rm -Rf *.log *.dbg dep: $(DEP) ../../../bin/$(MODULE).so: $(PLUGIN_OBJ) @echo "Linking $@..." @test -d ../../../bin || mkdir -p ../../../bin $(CXX) $(LCFLAGS) $(MODULE_LCFLAGS) -o $@ $^ $(MODULE_LIB) chmod 755 $@ ../../../obj/$(MODULE).a: $(BUILTIN_OBJ) @echo "Linking $@..." @test -d ../../../obj || mkdir -p ../../../obj $(AR) r $@ $^ $(RANLIB) $@ $(PLUGIN_OBJ): obj/%.o: dep/%.d $(PLUGIN_OBJ): obj/%.o: %.cpp @test -d obj/$(dir $*) || mkdir -p obj/$(dir $*) @echo "Compiling $<..." $(CXX) $(CCFLAGS) $(MODULE_CCFLAGS) -D__PLUGIN__ $(INCLUDE) -fPIC -o $@ -c $< $(BUILTIN_OBJ): obj/BUILTIN_%.o: dep/%.d $(BUILTIN_OBJ): obj/BUILTIN_%.o: %.cpp @test -d obj/$(dir $*) || mkdir -p obj/$(dir $*) @echo "Compiling $<..." $(CXX) $(CCFLAGS) $(MODULE_CCFLAGS) -D__BUILTIN__ $(INCLUDE) -o $@ -c $< $(MODULE_DEP): ../../../Makefile.module FORCE $(MODULE_DEP): dep/%.d: %.cpp @$(MAKE) -s --no-print-directory -f \ ../../../Makefile.module.dep $@ FORCE: