-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathWakefile32
119 lines (87 loc) · 3.93 KB
/
Wakefile32
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
# -*- mode: makefile; -*-
#ARCH=x86_64-w64-mingw32
ARCH=i686-w64-mingw32
CC=$(ARCH)-gcc
CFLAGS=-std=c99 -Wall -Wextra -fPIC -mwindows -I./amalg
LFLAGS=-L. -ljanet
IUP_CFLAGS=-DIUP_DLL -I./deps/win32/iup/include
IUP_LFLAGS=-Wl,--out-implib,libiup_dll.a -L./ -l:libjanet.dll -liup -liupim -liup_scintilla -lfreetype6 -lftgl -liupcd -liupcontrols -liupgl -liupglcontrols -liup_mglplot -liupole -liup_plot -liuptuio -lz -liupimglib -L./deps/win32/im -lim -lz -lm -pthread -lwinmm -lws2_32 -lmswsock -ladvapi32 -lopengl32 -lpangowin32-1.0 -lgdi32 -luuid -lcomctl32 -lole32 -lcomdlg32 -lmingw32
all: lib/com_ahungry_iup.dll lib/pobox.dll lib/com_ahungry_udp.dll lib/com_ahungry_cairo.dll lib/com_ahungry_json.dll lib/com_ahungry_meta.dll lib/com_ahungry_punyserver.dll lib/com_ahungry_io.dll lib/com_ahungry_crypt.dll lib/com_ahungry_curl.dll lib/com_ahungry_sqlite3.dll lib/com_ahungry_pq.dll janet.exe
janet.exe: libjanet.dll
$(CC) $(CFLAGS) amalg/shell.c -o janet.exe $(LFLAGS)
deps/win32:
./get-iup-windows-files-32.sh
./get-dlls.sh
lib/pobox.dll: src/pobox.c
$(CC) -I/usr/$(ARCH)/include $(CFLAGS) \
-shared src/pobox.c -o $@ $(LFLAGS) -lws2_32 -lwsock32 -lwinpthread
lib/com_ahungry_udp.dll: src/udp.c
$(CC) -I/usr/$(ARCH)/include $(CFLAGS) \
-shared src/udp.c -o $@ $(LFLAGS) -lws2_32 -lwsock32 -lwinpthread
lib/com_ahungry_cairo.dll: src/cairo_wrap.c libcairo-2.dll
$(CC) $(CFLAGS) \
-I/usr/$(ARCH)/include/cairo \
-shared src/cairo_wrap.c -o $@ $(LFLAGS) \
-lcairo
lib/com_ahungry_pq.dll: src/janet-pq/pq.c alloca.h
$(info TODO Still fix this up to add proper symbols, not working atm)
$(CC) \
-I/usr/$(ARCH)/include $(CFLAGS) \
-I. \
-shared src/janet-pq/pq.c -o $@ $(LFLAGS) \
-lpq
./get-pgsql-dlls32.sh
lib/com_ahungry_webview.dll: src/webview/webview.c
$(CC) $(CFLAGS) -shared -DWEBVIEW_WINAPI src/webview/webview.c -o $@ $(LFLAGS) \
-lz -lz -lm -pthread -lwinmm -lws2_32 -lmswsock -ladvapi32 -lopengl32 \
-lpangowin32-1.0 -lgdi32 -luuid -lcomctl32 -lole32 -lcomdlg32 -lmingw32 \
-lole32 -lcomctl32 -loleaut32 -luuid
lib/com_ahungry_iup.dll: src/iup_wrap.c libjanet.dll deps/win32
$(CC) $(CFLAGS) -shared $(IUP_CFLAGS) src/iup_wrap.c -o $@ $(LFLAGS) $(IUP_LFLAGS)
lib/com_ahungry_json.dll: src/json/json.c
$(CC) $(CFLAGS) -shared src/json/json.c -o $@ $(LFLAGS)
lib/com_ahungry_meta.dll: src/meta.c
$(CC) $(CFLAGS) -shared src/meta.c -o $@ $(LFLAGS)
lib/com_ahungry_punyserver.dll: src/puny-server-wrap.c
$(CC) $(CFLAGS) -I./src -shared src/puny-server.c src/puny-server-wrap.c -o $@ $(LFLAGS) -lws2_32 -lwsock32 -lwinpthread -pthread
lib/com_ahungry_io.dll: src/com_ahungry_io.c
$(CC) $(CFLAGS) -I./src -shared src/com_ahungry_io.c -o $@ $(LFLAGS)
lib/com_ahungry_crypt.dll: src/com_ahungry_crypt.c
$(CC) $(CFLAGS) -shared src/com_ahungry_crypt.c -o $@ $(LFLAGS) -lssl -lcrypto
./get-openssl-dlls-32.sh
lib/com_ahungry_curl.dll: src/curl_wrap_app.c
$(CC) $(CFLAGS) -shared src/curl_wrap_app.c -o $@ $(LFLAGS) -lcurl
./get-curl-dlls-32.sh
lib/com_ahungry_sqlite3.dll: src/sqlite3/main.c libsqlite3-0.dll
$(CC) $(CFLAGS) -shared src/sqlite3/main.c -o $@ $(LFLAGS) -lsqlite3
libjanet.dll: libjanet-1.20.dll
cp $< $@
libjanet-1.20.dll: zlib1.dll libwinpthread-1.dll libgcc_s_seh-1.dll libgcc_s_dw2-1.dll libstdc++-6.dll
$(CC) $(CFLAGS) -D_WIN32_WINNT=0x0600 -shared amalg/janet.c -o $@ -lm -pthread -lwinmm -lmswsock -lws2_32
zlib1.dll:
cp /usr/$(ARCH)/bin/$@ ./
libwinpthread-1.dll:
cp /usr/$(ARCH)/bin/$@ ./
# For 64 bit build, we need this
#libgcc_s_seh-1.dll:
# cp /usr/$(ARCH)/bin/$@ ./
.PHONY: libgcc_s_seh-1.dll
# For 32 bit build, we need this
libgcc_s_dw2-1.dll:
cp /usr/$(ARCH)/bin/$@ ./
#.PHONY: libgcc_s_dw2-1.dll
libstdc++-6.dll:
cp /usr/$(ARCH)/bin/$@ ./
libsqlite3-0.dll:
cp /usr/$(ARCH)/bin/$@ ./
libcairo-2.dll:
cp /usr/$(ARCH)/bin/$@ ./
alloca.h:
cp /usr/$(ARCH)/include/malloc.h ./alloca.h
global-install:
cp lib/* /usr/local/lib/janet/
test:
wine janet.exe -m ./lib test/test.janet
clean:
-rm -fr lib/*.dll
.PHONY: test