VLC quotes a lot of open-source third-party libraries, are placed in the VLC directory of contrib (originally compiled is 2.1.x or later, may change before or after), in the Windows version of the compilation, the contrib folder only download the VLC network compiled precompiled package is extracted to the directory, to modify the compilation script (Compile.sh and CONTRIB/SRC under Main.mak) is a fetch for all third-party packages, which are downloaded and started automatically compiled (controlled by Main.mak and Contrib/src/***/rules.mak).
Once compiled, generally, the next time the VLC compilation script is executed, the third-party package is no longer recompiled, because for make, these third-party packages are installed, so once these third-party library files are modified, they need to be recompiled and the installed packages need to be uninstalled before recompiling. The compilation script is determined by judging the hidden file (. Package name) and the file under the prefix path, once there is no need to recompile (here is the make install decision in each package), for the developer, only the compile.sh ( Make contrib before make in compile-libvlc.sh for Android, but note here that you can't add Because clean for Main.mak, will be with the third-party library source packages are deleted, and we only need to delete the installed files, so in Main.mak a new parameter action Cleaninstall, as follows:
Installclean:
-$ (RM) $ (foreach p,$ (Pkgs_all),. $ (P). sum-$ (P). dep-$ (P))
-$ (RM) toolchain.cmake
-$ (RM)-R "$ (PREFIX)"
The above code can be searched in Main.mak First install: After this paragraph add, after the modification is completed, in return to Compile.sh (Android version is compile-libvlc.sh) in the contrib compilation section of make before adding make Cleaninstall,
Next, modify the CONTRIB/SRC under the Rules.mak of each package, let make, no longer re-extract the source code (that is, comment out the download and unpack related commands) directly made.
In fact, you can also modify more accurate, such as implementing a clean specified a third-party package, such as the following for the deletion of several libraries related to the DVD, the implementation of only a few libraries to recompile:
Cleandvd:
-$ (RM) "./.dvdcss"
-$ (RM) "./.sum-dvdcss"
-$ (RM) "./.dep-dvdcss"
-$ (RM) "./.dvdnav"
-$ (RM) "./.sum-dvdnav"
-$ (RM) "./.dep-dvdnav"
-$ (RM) "./.dvdread"
-$ (RM) "./.sum-dvdread"
-$ (RM) "./.dep-dvdread"
#-$ (RM) toolchain.cmake
-$ (RM)-R "$ (PREFIX)/include/dvdcss/*.*"
-$ (RM)-R "$ (PREFIX)/include/dvdnav/*.*"
-$ (RM)-R "$ (PREFIX)/include/dvdread/*.*"
-$ (RM)-R "$ (PREFIX)/share/doc/libdvdcss/*.*"
-$ (RM)-R "$ (PREFIX)/share/doc/libdvdnav/*.*"
-$ (RM)-R "$ (PREFIX)/share/doc/libdvdread/*.*"
-$ (RM) "$ (PREFIX)/lib/libdvdcss.*"
-$ (RM) "$ (PREFIX)/lib/libdvdnav.*"
-$ (RM) "$ (PREFIX)/lib/libdvdread.*"
-$ (RM) "$ (PREFIX)/lib/pkgconfig/dvdcss.*"
-$ (RM) "$ (PREFIX)/lib/pkgconfig/dvdnav.*"
-$ (RM) "$ (PREFIX)/lib/pkgconfig/dvdread.*"
VLC recompile the precompiled package for third-party libraries contrib