~ chicken-core (chicken-5) 5329d35549bfd8ba0f522e4a5aed6399b718967e


commit 5329d35549bfd8ba0f522e4a5aed6399b718967e
Author:     Jani Hakala <jahakala@iki.fi>
AuthorDate: Wed Jan 8 23:21:58 2020 +0200
Commit:     Evan Hanson <evhan@foldling.org>
CommitDate: Sun Mar 1 17:01:33 2020 +1300

    Add missing build dependencies to targets in makefile
    
    Add dependencies between
    
    * scheme source files,
    * chicken shared library and module import libraries,
    * chicken-do and C headers.
    
    Signed-off-by: Evan Hanson <evhan@foldling.org>

diff --git a/rules.make b/rules.make
index c461458e..fe582b61 100644
--- a/rules.make
+++ b/rules.make
@@ -208,8 +208,8 @@ lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(A): $(LIBCHICKEN_STATIC_OBJECTS)
 
 # import libraries and extensions
 
-%.so: %.o
-	$(LINKER) $(LINKER_OPTIONS) $(LINKER_LINK_SHARED_DLOADABLE_OPTIONS) $^ $(LINKER_OUTPUT_OPTION) $@ \
+%.so: %.o $(LIBCHICKEN_SO_FILE)
+	$(LINKER) $(LINKER_OPTIONS) $(LINKER_LINK_SHARED_DLOADABLE_OPTIONS) $< $(LINKER_OUTPUT_OPTION) $@ \
 	  $(LINKER_LIBRARY_PREFIX)$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(LINKER_LIBRARY_SUFFIX) \
 	  $(LIBRARIES)
 
@@ -252,7 +252,7 @@ $(eval $(call declare-program-from-object,$(CSI_STATIC_EXECUTABLE),csi))
 
 # "chicken-do"
 
-$(CHICKEN_DO_PROGRAM)$(EXE): $(SRCDIR)chicken-do.c
+$(CHICKEN_DO_PROGRAM)$(EXE): $(SRCDIR)chicken-do.c chicken.h $(CHICKEN_CONFIG_H)
 	$(C_COMPILER) $(C_COMPILER_OPTIONS) $(C_COMPILER_OPTIMIZATION_OPTIONS) $< -o $@
 
 # scripts
@@ -559,6 +559,8 @@ core.c: core.scm mini-srfi-1.scm \
 		chicken.compiler.scrutinizer.import.scm \
 		chicken.compiler.support.import.scm \
 		chicken.eval.import.scm \
+		chicken.file.import.scm \
+		chicken.fixnum.import.scm \
 		chicken.format.import.scm \
 		chicken.io.import.scm \
 		chicken.keyword.import.scm \
@@ -567,14 +569,17 @@ core.c: core.scm mini-srfi-1.scm \
 		chicken.string.import.scm
 optimizer.c: optimizer.scm mini-srfi-1.scm \
 		chicken.compiler.support.import.scm \
+		chicken.fixnum.import.scm \
 		chicken.internal.import.scm \
 		chicken.sort.import.scm \
 		chicken.string.import.scm
 scheduler.c: scheduler.scm \
+		chicken.fixnum.import.scm \
 		chicken.format.import.scm \
 		chicken.condition.import.scm
 scrutinizer.c: scrutinizer.scm mini-srfi-1.scm \
 		chicken.compiler.support.import.scm \
+		chicken.fixnum.import.scm \
 		chicken.format.import.scm \
 		chicken.internal.import.scm \
 		chicken.io.import.scm \
@@ -589,6 +594,7 @@ lfa2.c: lfa2.scm mini-srfi-1.scm \
 compiler-syntax.c: compiler-syntax.scm mini-srfi-1.scm \
 		chicken.compiler.support.import.scm \
 		chicken.compiler.core.import.scm \
+		chicken.fixnum.import.scm \
 		chicken.format.import.scm
 chicken-ffi-syntax.c: chicken-ffi-syntax.scm \
 		chicken.format.import.scm \
@@ -599,6 +605,7 @@ support.c: support.scm mini-srfi-1.scm \
 		chicken.blob.import.scm \
 		chicken.condition.import.scm \
 		chicken.file.import.scm \
+		chicken.fixnum.import.scm \
 		chicken.foreign.import.scm \
 		chicken.format.import.scm \
 		chicken.internal.import.scm \
@@ -631,6 +638,7 @@ csc.c: csc.scm \
 		chicken.string.import.scm
 csi.c: csi.scm \
 		chicken.condition.import.scm \
+		chicken.file.import.scm \
 		chicken.foreign.import.scm \
 		chicken.format.import.scm \
 		chicken.gc.import.scm \
@@ -641,19 +649,23 @@ csi.c: csi.scm \
 		chicken.platform.import.scm \
 		chicken.port.import.scm \
 		chicken.pretty-print.import.scm \
+		chicken.process.import.scm \
 		chicken.process-context.import.scm \
 		chicken.repl.import.scm \
 		chicken.sort.import.scm \
 		chicken.string.import.scm
 chicken-profile.c: chicken-profile.scm \
 		chicken.internal.import.scm \
+		chicken.file.import.scm \
 		chicken.file.posix.import.scm \
+		chicken.fixnum.import.scm \
 		chicken.process-context.import.scm \
 		chicken.sort.import.scm \
 		chicken.string.import.scm
 chicken-status.c: chicken-status.scm \
 		chicken.file.import.scm \
 		chicken.file.posix.import.scm \
+		chicken.fixnum.import.scm \
 		chicken.foreign.import.scm \
 		chicken.format.import.scm \
 		chicken.irregex.import.scm \
@@ -667,8 +679,10 @@ chicken-install.c: chicken-install.scm \
 		chicken.condition.import.scm \
 		chicken.file.import.scm \
 		chicken.file.posix.import.scm \
+		chicken.fixnum.import.scm \
 		chicken.foreign.import.scm \
 		chicken.format.import.scm \
+		chicken.internal.import.scm \
 		chicken.io.import.scm \
 		chicken.irregex.import.scm \
 		chicken.pathname.import.scm \
@@ -681,6 +695,7 @@ chicken-install.c: chicken-install.scm \
 		chicken.tcp.import.scm
 chicken-uninstall.c: chicken-uninstall.scm \
 		chicken.file.import.scm \
+		chicken.fixnum.import.scm \
 		chicken.foreign.import.scm \
 		chicken.format.import.scm \
 		chicken.irregex.import.scm \
@@ -690,10 +705,12 @@ chicken-uninstall.c: chicken-uninstall.scm \
 		chicken.process-context.import.scm \
 		chicken.string.import.scm
 chicken-syntax.c: chicken-syntax.scm \
+		chicken.fixnum.import.scm \
 		chicken.platform.import.scm \
 		chicken.internal.import.scm
 srfi-4.c: srfi-4.scm \
 		chicken.bitwise.import.scm \
+		chicken.fixnum.import.scm \
 		chicken.foreign.import.scm \
 		chicken.gc.import.scm \
 		chicken.platform.import.scm
@@ -720,19 +737,23 @@ posixwin.c: posixwin.scm \
 		chicken.time.import.scm
 data-structures.c: data-structures.scm \
 		chicken.condition.import.scm \
+		chicken.fixnum.import.scm \
 		chicken.foreign.import.scm
 expand.c: expand.scm \
 		chicken.blob.import.scm \
 		chicken.condition.import.scm \
+		chicken.fixnum.import.scm \
 		chicken.keyword.import.scm \
 		chicken.platform.import.scm \
 		chicken.internal.import.scm
 extras.c: extras.scm \
+		chicken.fixnum.import.scm \
 		chicken.string.import.scm \
 		chicken.time.import.scm
 eval.c: eval.scm \
 		chicken.blob.import.scm \
 		chicken.condition.import.scm \
+		chicken.fixnum.import.scm \
 		chicken.foreign.import.scm \
 		chicken.internal.import.scm \
 		chicken.keyword.import.scm \
@@ -741,29 +762,45 @@ repl.c: repl.scm \
 		chicken.eval.import.scm
 file.c: file.scm \
 		chicken.condition.import.scm \
+		chicken.fixnum.import.scm \
 		chicken.io.import.scm \
 		chicken.irregex.import.scm \
 		chicken.foreign.import.scm \
 		chicken.pathname.import.scm \
 		chicken.process-context.import.scm
 lolevel.c: lolevel.scm \
+		chicken.fixnum.import.scm \
 		chicken.foreign.import.scm
 pathname.c: pathname.scm \
+		chicken.fixnum.import.scm \
 		chicken.irregex.import.scm \
 		chicken.platform.import.scm \
 		chicken.string.import.scm
 port.c: port.scm \
+		chicken.fixnum.import.scm \
 		chicken.io.import.scm
 read-syntax.c: read-syntax.scm \
 		chicken.internal.import.scm \
 		chicken.platform.import.scm
 tcp.c: tcp.scm \
+		chicken.fixnum.import.scm \
 		chicken.foreign.import.scm \
 		chicken.port.import.scm \
 		chicken.time.import.scm
 eval-modules.c: eval-modules.scm $(DYNAMIC_IMPORT_LIBRARIES:=.import.scm) \
 	$(foreach lib,$(DYNAMIC_CHICKEN_IMPORT_LIBRARIES),chicken.$(lib).import.scm) \
 	$(foreach lib,$(DYNAMIC_CHICKEN_UNIT_IMPORT_LIBRARIES),$(lib).c)
+continuation.c: continuation.scm \
+		chicken.fixnum.import.scm
+internal.c: internal.scm \
+		chicken.fixnum.import.scm
+irregex.c: irregex.scm \
+		chicken.fixnum.import.scm \
+		chicken.syntax.import.scm
+profiler.c: profiler.scm \
+		chicken.fixnum.import.scm
+stub.c: stub.scm \
+		chicken.platform.import.scm
 
 
 define profile-flags
Trap