prelude: :gerbil/compiler/ssxi
package: std

(begin
  (declare-type std/make#force-outputs (@lambda 0 #f))
  (declare-type std/make#message (@lambda (0) #f))
  (declare-type std/make#writeln (@lambda 1 #f))
  (declare-type std/make#prefix/ (@lambda 2 #f))
  (declare-type std/make#vector-for-each (@lambda 2 #f))
  (declare-type std/make#vector-ensure-ref (@lambda 3 #f))
  (declare-type
   std/make#settings::t
   (@struct-type std/make#settings::t #f 13 :init! ((transparent: . #t))))
  (declare-type std/make#settings? (@struct-pred std/make#settings::t))
  (declare-type std/make#make-settings (@struct-cons std/make#settings::t))
  (declare-type
   std/make#settings-srcdir
   (@struct-getf std/make#settings::t 0 #f))
  (declare-type
   std/make#settings-libdir
   (@struct-getf std/make#settings::t 1 #f))
  (declare-type
   std/make#settings-bindir
   (@struct-getf std/make#settings::t 2 #f))
  (declare-type
   std/make#settings-prefix
   (@struct-getf std/make#settings::t 3 #f))
  (declare-type
   std/make#settings-force
   (@struct-getf std/make#settings::t 4 #f))
  (declare-type
   std/make#settings-optimize
   (@struct-getf std/make#settings::t 5 #f))
  (declare-type
   std/make#settings-debug
   (@struct-getf std/make#settings::t 6 #f))
  (declare-type
   std/make#settings-static
   (@struct-getf std/make#settings::t 7 #f))
  (declare-type
   std/make#settings-static-debug
   (@struct-getf std/make#settings::t 8 #f))
  (declare-type
   std/make#settings-verbose
   (@struct-getf std/make#settings::t 9 #f))
  (declare-type
   std/make#settings-build-deps
   (@struct-getf std/make#settings::t 10 #f))
  (declare-type
   std/make#settings-libdir-prefix
   (@struct-getf std/make#settings::t 11 #f))
  (declare-type
   std/make#settings-parallelize
   (@struct-getf std/make#settings::t 12 #f))
  (declare-type
   std/make#settings-srcdir-set!
   (@struct-setf std/make#settings::t 0 #f))
  (declare-type
   std/make#settings-libdir-set!
   (@struct-setf std/make#settings::t 1 #f))
  (declare-type
   std/make#settings-bindir-set!
   (@struct-setf std/make#settings::t 2 #f))
  (declare-type
   std/make#settings-prefix-set!
   (@struct-setf std/make#settings::t 3 #f))
  (declare-type
   std/make#settings-force-set!
   (@struct-setf std/make#settings::t 4 #f))
  (declare-type
   std/make#settings-optimize-set!
   (@struct-setf std/make#settings::t 5 #f))
  (declare-type
   std/make#settings-debug-set!
   (@struct-setf std/make#settings::t 6 #f))
  (declare-type
   std/make#settings-static-set!
   (@struct-setf std/make#settings::t 7 #f))
  (declare-type
   std/make#settings-static-debug-set!
   (@struct-setf std/make#settings::t 8 #f))
  (declare-type
   std/make#settings-verbose-set!
   (@struct-setf std/make#settings::t 9 #f))
  (declare-type
   std/make#settings-build-deps-set!
   (@struct-setf std/make#settings::t 10 #f))
  (declare-type
   std/make#settings-libdir-prefix-set!
   (@struct-setf std/make#settings::t 11 #f))
  (declare-type
   std/make#settings-parallelize-set!
   (@struct-setf std/make#settings::t 12 #f))
  (declare-type std/make#settings:::init!__% (@lambda 15 #f))
  (declare-type
   std/make#settings:::init!__@
   (@kw-lambda-dispatch
    (srcdir:
     libdir:
     bindir:
     prefix:
     force:
     optimize:
     debug:
     static:
     static-debug:
     verbose:
     build-deps:
     parallelize:
     depgraph:)
    std/make#settings:::init!__%))
  (declare-type
   std/make#settings:::init!
   (@kw-lambda
    (build-deps:
     force:
     bindir:
     static:
     depgraph:
     debug:
     srcdir:
     optimize:
     prefix:
     verbose:
     parallelize:
     static-debug:
     libdir:)
    std/make#settings:::init!__@))
  (declare-method std/make#settings::t :init! std/make#settings:::init! #f)
  (declare-type std/make#gerbil-build-cores (@lambda 0 #f))
  (declare-type std/make#settings-verbose>=? (@lambda 2 #f))
  (declare-type std/make#read-package-prefix (@lambda 1 #f))
  (declare-type std/make#spec-type (@lambda 1 #f))
  (declare-type std/make#spec-file (@lambda 2 #f))
  (declare-type std/make#spec-inputs (@lambda 2 #f))
  (declare-type std/make#spec-extra-inputs (@lambda 2 #f))
  (declare-type std/make#spec-plist (@lambda 1 #f))
  (declare-type std/make#spec-outputs (@lambda 2 #f))
  (declare-type std/make#spec-backgroundable? (@lambda 1 #f))
  (declare-type std/make#cache-put! (@lambda 2 #f))
  (declare-type std/make#cache-remove! (@lambda 1 #f))
  (declare-type std/make#call-with-cache__% (@lambda 2 #f))
  (declare-type std/make#call-with-cache__0 (@lambda 1 #f))
  (declare-type
   std/make#call-with-cache
   (@case-lambda
    (1 std/make#call-with-cache__0)
    (2 std/make#call-with-cache__%)))
  (declare-type std/make#call-with-fresh-cache (@lambda 1 #f))
  (declare-type std/make#modification-time (@lambda 1 #f))
  (declare-type std/make#modification-time/cache (@lambda 1 #f))
  (declare-type std/make#file-timestamp (@lambda 1 #f))
  (declare-type std/make#module-strip-nesting (@lambda 1 #f))
  (declare-type std/make#library-symbol (@lambda 1 #f))
  (declare-type std/make#library-file (@lambda 1 #f))
  (declare-type std/make#library-timestamp (@lambda 1 #f))
  (declare-type std/make#read-build-deps (@lambda 1 #f))
  (declare-type std/make#write-build-deps (@lambda 2 #f))
  (declare-type std/make#make (@lambda (0) #f))
  (declare-type std/make#%make (@lambda 2 #f))
  (declare-type std/make#file-dependencies (@lambda 2 #f))
  (declare-type
   std/make#make-depgraph
   (ast-rules
    (%#call %#ref)
    ((%#call _ (%#ref arg) ...) (%#quote #t))
    ((%#call _ arg ...) (%#begin arg ... (%#quote #t)))))
  (declare-type
   std/make#make-depgraph/spec
   (ast-rules
    (%#call %#ref)
    ((%#call _ (%#ref arg) ...) (%#quote #t))
    ((%#call _ arg ...) (%#begin arg ... (%#quote #t)))))
  (declare-type std/make#normalize-buildspec (@lambda 1 #f))
  (declare-type std/make#shell-config (@lambda (1) #f))
  (declare-type std/make#env-ldflags (@lambda 0 #f))
  (declare-type std/make#env-cppflags (@lambda 0 #f))
  (declare-type std/make#include-gambit-sharp (@lambda 0 #f))
  (declare-type std/make#build (@lambda 2 #f))
  (declare-type std/make#gxc-outputs (@lambda 3 #f))
  (declare-type std/make#gsc-compile-opts (@lambda 1 #f))
  (declare-type std/make#gxc-compile__% (@lambda 4 #f))
  (declare-type std/make#gxc-compile__0 (@lambda 3 #f))
  (declare-type
   std/make#gxc-compile
   (@case-lambda (3 std/make#gxc-compile__0) (4 std/make#gxc-compile__%)))
  (declare-type std/make#gsc-libpath (@lambda 2 #f))
  (declare-type std/make#gsc-base (@lambda 1 #f))
  (declare-type std/make#gsc-c-path (@lambda 2 #f))
  (declare-type std/make#gsc-compile (@lambda 3 #f))
  (declare-type std/make#gerbil-gsc (@lambda 0 #f))
  (declare-type std/make#gerbil-gxc (@lambda 0 #f))
  (declare-type std/make#compile-ssi (@lambda 3 #f))
  (declare-type std/make#compile-exe (@lambda 3 #f))
  (declare-type std/make#compile-exe-gsc-opts (@lambda 1 #f))
  (declare-type std/make#make-settings-static (@lambda 1 #f))
  (declare-type std/make#compile-static-exe (@lambda 3 #f))
  (declare-type std/make#copy-static (@lambda 2 #f))
  (declare-type std/make#copy-compiled (@lambda 2 #f))
  (declare-type std/make#source-path (@lambda 3 #f))
  (declare-type std/make#library-path (@lambda 3 #f))
  (declare-type std/make#binary-path (@lambda 3 #f))
  (declare-type std/make#static-path (@lambda 2 #f))
  (declare-type std/make#static-file-path (@lambda 2 #f))
  (declare-type std/make#pkg-config (@lambda (1) #f))
  (declare-type std/make#pkg-config-libs (@lambda (0) #f))
  (declare-type std/make#pkg-config-cflags (@lambda (0) #f))
  (declare-type std/make#ldflags (@lambda 2 #f))
  (declare-type std/make#cppflags (@lambda 2 #f)))
