aboutsummaryrefslogtreecommitdiffstats
path: root/config.mk
diff options
context:
space:
mode:
authorRobert Ou <rqou@robertou.com>2017-11-15 03:13:35 -0800
committerRobert Ou <rqou@robertou.com>2017-11-15 03:13:35 -0800
commit05440e4d62f9b0c242c1c040cb864ffe49a6908d (patch)
treed5394e928dc4831292207109154c3d4a6ec422cd /config.mk
parent539cf999dd7fe0a837b72af83c4b1c335b6eafe4 (diff)
downloadicestorm-05440e4d62f9b0c242c1c040cb864ffe49a6908d.tar.gz
icestorm-05440e4d62f9b0c242c1c040cb864ffe49a6908d.tar.bz2
icestorm-05440e4d62f9b0c242c1c040cb864ffe49a6908d.zip
Fix up build system to work with emscripten
Diffstat (limited to 'config.mk')
-rw-r--r--config.mk19
1 files changed, 17 insertions, 2 deletions
diff --git a/config.mk b/config.mk
index d6daca6..7b3b494 100644
--- a/config.mk
+++ b/config.mk
@@ -6,12 +6,18 @@ PKG_CONFIG ?= pkg-config
C_STD ?= c99
CXX_STD ?= c++11
+ifeq ($(EMCC),1)
+OPT_LEVEL ?= 2
+DBG_LEVEL ?=
+else
OPT_LEVEL ?= 0
+DBG_LEVEL ?= -ggdb
+endif
WARN_LEVEL ?= all
LDLIBS = -lm -lstdc++
-CFLAGS += -MD -O$(OPT_LEVEL) -ggdb -W$(WARN_LEVEL) -std=$(C_STD) -I$(PREFIX)/include
-CXXFLAGS += -MD -O$(OPT_LEVEL) -ggdb -W$(WARN_LEVEL) -std=$(CXX_STD) -I$(PREFIX)/include
+CFLAGS += -MD -O$(OPT_LEVEL) $(DBG_LEVEL) -W$(WARN_LEVEL) -std=$(C_STD) -I$(PREFIX)/include
+CXXFLAGS += -MD -O$(OPT_LEVEL) $(DBG_LEVEL) -W$(WARN_LEVEL) -std=$(CXX_STD) -I$(PREFIX)/include
DESTDIR ?=
CHIPDB_SUBDIR ?= icebox
@@ -22,3 +28,12 @@ CXX = /usr/local/src/mxe/usr/bin/i686-w64-mingw32.static-gcc
CC = $(CXX)
PKG_CONFIG = /usr/local/src/mxe/usr/bin/i686-w64-mingw32.static-pkg-config
endif
+
+ifeq ($(EMCC),1)
+EXE = .js
+CC = emcc
+CXX = emcc
+PREFIX = /
+LDFLAGS = -O2 --memory-init-file 0 -s TOTAL_MEMORY=64*1024*1024
+SUBDIRS = icebox icepack icemulti icepll icetime icebram
+endif