diff --git a/doc/meson.build b/doc/meson.build
index 3edf3ce9d221740b2114f164f8a6ab163662515a..ba16e20a0c8f952ca910ed7db7d5c71de6850e91 100644
--- a/doc/meson.build
+++ b/doc/meson.build
@@ -1,4 +1,4 @@
-latexmk_exe = find_program('latexmk')
+latexmk_exe = find_program('latexmk', required : false)
 
 # We have to set TEXINPUTS because the current directory is not the source
 # directory when latexmk is invoked (and using the -cd option in combination
@@ -14,22 +14,29 @@ latexmk_command = [ latexmk_exe, '-pdf', '-g', '-outdir=@OUTDIR@', '-auxdir=@PRI
 # so add these manually
 logos_dir = meson.current_source_dir() / 'logos'
 
-custom_target('macroprocessor.pdf',
-              output : 'macroprocessor.pdf',
-              input : 'macroprocessor/macroprocessor.tex',
-              command : latexmk_command,
-              env : { 'TEXINPUTS': meson.current_source_dir() + '/macroprocessor:' + logos_dir + ':' },
-              depend_files : [ 'macroprocessor/new-design.pdf', 'logos/dlogo.png' ],
-              install : true,
-              install_dir : 'share/doc/dynare')
+macroprocessor_pdf = custom_target('macroprocessor.pdf',
+                                   output : 'macroprocessor.pdf',
+                                   input : 'macroprocessor/macroprocessor.tex',
+                                   command : latexmk_command,
+                                   env : { 'TEXINPUTS': meson.current_source_dir()
+                                                        + '/macroprocessor:' + logos_dir + ':' },
+                                   depend_files : [ 'macroprocessor/new-design.pdf',
+                                                    'logos/dlogo.png' ],
+                                   build_by_default : false,
+                                   install : true,
+                                   install_dir : 'share/doc/dynare')
 
-custom_target('preprocessor.pdf',
-              output : 'preprocessor.pdf',
-              input : 'preprocessor/preprocessor.tex',
-              command : latexmk_command,
-              env : { 'TEXINPUTS': meson.current_source_dir() + '/preprocessor:' + logos_dir + ':' },
-              depend_files : [ 'preprocessor/expr.png', 'preprocessor/expr-sharing.png',
-                               'preprocessor/json-preprocessor.png', 'preprocessor/matrices.png',
-                               'preprocessor/overview.png', 'logos/dlogo.png' ],
-              install : true,
-              install_dir : 'share/doc/dynare')
+preprocessor_pdf = custom_target('preprocessor.pdf',
+                                 output : 'preprocessor.pdf',
+                                 input : 'preprocessor/preprocessor.tex',
+                                 command : latexmk_command,
+                                 env : { 'TEXINPUTS': meson.current_source_dir() + '/preprocessor:'
+                                                      + logos_dir + ':' },
+                                 depend_files : [ 'preprocessor/expr.png',
+                                                  'preprocessor/expr-sharing.png',
+                                                  'preprocessor/json-preprocessor.png',
+                                                  'preprocessor/matrices.png',
+                                                  'preprocessor/overview.png', 'logos/dlogo.png' ],
+                                 build_by_default : false,
+                                 install : true,
+                                 install_dir : 'share/doc/dynare')