File: makefile.vc

package info (click to toggle)
chicken 0.990-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 15,052 kB
  • ctags: 32,419
  • sloc: ansic: 388,227; lisp: 30,001; sh: 7,641; makefile: 311
file content (120 lines) | stat: -rw-r--r-- 4,410 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
### makefile.vc - Makefile for building CHICKEN via VC++ 5.0 - felix

CC = cl
CFLAGS = /nologo /O2 /DC_DEFAULT_TARGET_STACK_SIZE=300000
LFLAGS = /nologo /subsystem:console /incremental:no /machine:I386


# Targets:

all : chicken-runtime.lib chicken-gui-runtime.lib chicken-embedded-runtime.lib chicken-embedded-gui-runtime.lib \
	chicken-utilities.lib chicken-dll-runtime.lib chicken-u-runtime.lib chicken-u-utilities.lib chicken.exe csi.exe \
	formatprofile


# The runtime library:

chicken-runtime.lib : runtime.obj library.obj eval.obj syntax-case.obj modules.obj debugger.obj profiler.obj
	lib /nologo /out:$@ $**

chicken-utilities.lib : extras.obj srfi-1.obj srfi-4.obj srfi-13.obj srfi-14.obj format.obj match.obj srfi-18.obj lolevel.obj \
	  tinyclos.obj
	lib /nologo /out:$@ $**

chicken-u-runtime.lib : runtime.obj ulibrary.obj ueval.obj usyntax-case.obj umodules.obj debugger.obj profiler.obj
	lib /nologo /out:$@ $**

chicken-u-utilities.lib : uextras.obj usrfi-1.obj usrfi-4.obj usrfi-13.obj usrfi-14.obj uformat.obj umatch.obj \
	  usrfi-18.obj ulolevel.obj utinyclos.obj
	lib /nologo /out:$@ $**

chicken-gui-runtime.lib : gui-runtime.obj gui-library.obj eval.obj syntax-case.obj modules.obj debugger.obj profiler.obj
	lib /nologo /out:$@ $**

chicken-embedded-runtime.lib : embedded-runtime.obj library.obj eval.obj syntax-case.obj modules.obj debugger.obj profiler.obj
	lib /nologo /out:$@ $**

chicken-u-embedded-runtime.lib : embedded-runtime.obj ulibrary.obj ueval.obj usyntax-case.obj umodules.obj udebugger.obj uprofiler.obj
	lib /nologo /out:$@ $**

chicken-embedded-gui-runtime.lib : embedded-gui-runtime.obj gui-library.obj eval.obj syntax-case.obj modules.obj debugger.obj \
	  profiler.obj
	lib /nologo /out:$@ $**

chicken-dll-runtime.lib : dll-runtime.obj gui-library.obj eval.obj syntax-case.obj modules.obj debugger.obj profiler.obj
	lib /nologo /out:$@ $**

runtime.obj : runtime.c chicken.h
	$(CC) $(CFLAGS) /c runtime.c

gui-runtime.obj : runtime.c
	$(CC) $(CFLAGS) /c /DWINDOWS_GUI runtime.c /Fogui-runtime.obj

embedded-runtime.obj : runtime.c
	$(CC) $(CFLAGS) /c /DC_EMBEDDED runtime.c /Foembedded-runtime.obj

embedded-gui-runtime.obj : runtime.c
	$(CC) $(CFLAGS) /c /DWINDOWS_GUI /DC_EMBEDDED runtime.c /Foembedded-gui-runtime.obj

dll-runtime.obj : runtime.c
	$(CC) $(CFLAGS) /c /DWINDOWS_DLL runtime.c /Fodll-runtime.obj

eval.obj : eval.c chicken.h
library.obj : library.c chicken.h
debugger.obj : debugger.c chicken.h
profiler.obj : profiler.c chicken.h
extras.obj : extras.c chicken.h
srfi-1.obj : srfi-1.c chicken.h
srfi-4.obj : srfi-4.c chicken.h
match.obj : match.c chicken.h
syntax-case.obj : syntax-case.c chicken.h
format.obj : format.c chicken.h
tinyclos.obj : tinyclos.c chicken.h
srfi-13.obj : srfi-13.c chicken.h
srfi-14.obj : srfi-14.c chicken.h
lolevel.obj : lolevel.c chicken.h

ueval.obj : ueval.c chicken.h
ulibrary.obj : ulibrary.c chicken.h
uextras.obj : uextras.c chicken.h
usrfi-1.obj : usrfi-1.c chicken.h
usrfi-4.obj : usrfi-4.c chicken.h
umatch.obj : umatch.c chicken.h
umodules.obj : umodules.c chicken.h
usyntax-case.obj : usyntax-case.c chicken.h
uformat.obj : uformat.c chicken.h
utinyclos.obj : utinyclos.c chicken.h
usrfi-13.obj : usrfi-13.c chicken.h
usrfi-14.obj : usrfi-14.c chicken.h
ulolevel.obj : ulolevel.c chicken.h

gui-library.obj : library.c chicken.h
	$(CC) $(CFLAGS) /c /DWINDOWS_GUI library.c /Fogui-library.obj

chicken.res : chicken.rc
	rc /r chicken.rc

# The interpreter:

csi.exe : csi.scm build.scm chicken.exe chicken-runtime.lib chicken-utilities.lib chicken.h chicken.res
	chicken csi.scm -optimize-level 1 -quiet -output-file csi.c -prologue build.scm -postlude "(##csi#run)"
	$(CC) $(CFLAGS) /DC_NO_HOME /c csi.c
	link $(LFLAGS) csi.obj chicken-runtime.lib chicken-utilities.lib chicken.res /out:csi.exe


# The compiler:

chicken.exe : chicken.obj support.obj compiler.obj batch-driver.obj c-platform.obj c-backend.obj chicken.res chicken-runtime.lib \
	  chicken-utilities.lib
	link $(LFLAGS) $** /out:chicken.exe

chicken.obj : chicken.c chicken.h
support.obj : support.c chicken.h
c-platform.obj : c-platform.c chicken.h
c-backend.obj : c-backend.c chicken.h
batch-driver.obj : batch-driver.c chicken.h
compiler.obj : compiler.c chicken.h


formatprofile : formatprofile.in
	copy $** $@