summaryrefslogtreecommitdiffstats
path: root/lang/mlton/files/patch-runtime-Makefile
blob: 4c4ed2be0b868bff276de2a9242932c46de086aa (plain)
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
--- runtime/Makefile.orig	2007-08-27 07:03:54.000000000 +1000
+++ runtime/Makefile		2008-04-28 10:19:06.000000000 +1000
@@ -11,11 +11,24 @@
 TARGET := self
 TARGET_ARCH := $(shell ../bin/host-arch)
 TARGET_OS := $(shell ../bin/host-os)
+
+ifeq ($(TARGET), self)
+GCC := gcc
+else
+GCC := $(TARGET)-gcc
+endif
+
+ifeq ($(TARGET_OS), mingw)
+RUN := wine
+else
+RUN :=
+endif
+
 GCC_MAJOR_VERSION :=						\
-	$(shell gcc -v 2>&1 | grep 'gcc version' | 		\
+	$(shell $(GCC) -v 2>&1 | grep 'gcc version' | 		\
 		sed 's/.*gcc version \([0-9][0-9]*\)\.\([0-9][0-9]*\).*/\1/')
 GCC_MINOR_VERSION :=						\
-	$(shell gcc -v 2>&1 | grep 'gcc version' | 		\
+	$(shell $(GCC) -v 2>&1 | grep 'gcc version' | 		\
 		sed 's/.*gcc version \([0-9][0-9]*\)\.\([0-9][0-9]*\).*/\2/')
 GCC_VERSION := $(GCC_MAJOR_VERSION).$(GCC_MINOR_VERSION)
 
@@ -96,10 +109,9 @@
 else
 AR := $(TARGET)-ar rc
 RANLIB := $(TARGET)-ranlib
-FLAGS += -b $(TARGET)
 endif
 
-CC := gcc -std=gnu99
+CC := $(GCC) -std=gnu99
 CPPFLAGS :=
 CFLAGS := -I. -Iplatform $(FLAGS)
 OPTCFLAGS := $(CFLAGS) $(CPPFLAGS) $(OPTFLAGS)
@@ -247,7 +259,7 @@
 	cd gdtoa && $(CC) -o arithchk.out arithchk.c
 
 gdtoa/arith.h: gdtoa/arithchk.out
-	cd gdtoa && ./arithchk.out >arith.h
+	cd gdtoa && $(RUN) ./arithchk.out >arith.h
 
 libmlton.a: $(OBJS)
 	$(AR) libmlton.a $(OBJS)
@@ -265,7 +277,7 @@
 gen/c-types.h gen/c-types.sml gen/ml-types.h: gen/gen-types.c util.h util.o
 	$(CC) $(OPTCFLAGS) $(WARNCFLAGS) -o gen/gen-types gen/gen-types.c util.o
 	rm -f gen/c-types.h gen/c-types.sml gen/ml-types.h
-	cd gen && ./gen-types
+	cd gen && $(RUN) ./gen-types
 	rm -f gen/gen-types$(EXE)
 
 c-types.h ml-types.h: gen/c-types.h gen/ml-types.h
@@ -276,7 +288,7 @@
 gen/basis-ffi.h gen/basis-ffi.sml: gen/gen-basis-ffi.sml gen/basis-ffi.def
 	mlton -output gen/gen-basis-ffi gen/gen-basis-ffi.sml
 	rm -f gen/basis-ffi.h gen/basis-ffi.sml
-	cd gen && ./gen-basis-ffi
+	cd gen && $(RUN) ./gen-basis-ffi
 	rm -f gen/gen-basis-ffi
 
 basis-ffi.h: gen/basis-ffi.h
@@ -286,13 +298,13 @@
 gen/sizes: gen/gen-sizes.c libmlton.a
 	$(CC) $(OPTCFLAGS) $(WARNCFLAGS) -o gen/gen-sizes -I. -L. -lmlton gen/gen-sizes.c util.o
 	rm -f gen/sizes
-	cd gen && ./gen-sizes
+	cd gen && $(RUN) ./gen-sizes
 	rm -f gen/gen-sizes$(EXE)
 
 bytecode/opcodes: bytecode/print-opcodes.c bytecode/opcode.h
 	$(CC) $(OPTCFLAGS) $(WARNCFLAGS) -o bytecode/print-opcodes bytecode/print-opcodes.c
 	rm -f bytecode/opcodes
-	cd bytecode && ./print-opcodes > opcodes
+	cd bytecode && $(RUN) ./print-opcodes > opcodes
 	rm -f bytecode/print-opcodes$(EXE)
 
 
OpenPOWER on IntegriCloud