-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakedefs.Emcc
79 lines (62 loc) · 1.67 KB
/
Makedefs.Emcc
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
CC = emcc
CXX = em++
#CC = clang
#CXX = clang++
#CXX = clang++ -stdlib=libc++
AR = emar
ARCHOPTS = -m32 -march=core2 -mtune=native
COPTS = -fno-strict-overflow -fno-math-errno -fno-trapping-math
COPTS += -Wall -Wextra -Wshadow
XLIBDIR = /usr/X11R6/lib
GLDIS = /usr/include
EMCCOPTS = --bind -O3 -s WASM=1 -s NO_EXIT_RUNTIME=1 -s "EXPORTED_RUNTIME_METHODS=['addOnPostRun','addFunction']"
EMCCOPTS += -s ALLOW_MEMORY_GROWTH=1
#Debug
#EMCCOPTS = --bind -O1 -s NO_EXIT_RUNTIME=0 -s "EXPORTED_RUNTIME_METHODS=['addOnPostRun','addFunction']"
#EMCCOPTS += -s ALLOW_MEMORY_GROWTH=1 -gsource-map -s ALLOW_TABLE_GROWTH
ifeq (,$(shell $(CXX) --version | grep clang))
# Real gcc, not clang
COPTS += -fno-delete-null-pointer-checks
OPENMPOPTS = -fopenmp
endif
CXXOPTS = $(COPTS)
CFLAGS = $(ARCHOPTS) $(OPENMPOPTS) $(INCLUDES) $(COPTS)
CXXFLAGS = $(ARCHOPTS) $(OPENMPOPTS) $(INCLUDES) $(CXXOPTS)
LIBS = -lm
GLLIBS = -L$(XLIBDIR) -L$(GLDIR) -lgluit -lGLU -lGL -lX11
$(OBJDIR)/%.o: %.c
@ echo "Compiling $<"
@ rm -f $@
@ $(CC) $(CFLAGS) -MMD -MP -c $< -o $@
$(OBJDIR)/%.o: %.cc
@ echo "Compiling $<"
@ rm -f $@
@ $(CXX) $(CXXFLAGS) -MMD -MP -c $< -o $@
$(OBJDIR)/%.o: %.cpp
@ echo "Compiling $<"
@ rm -f $@
@ $(CXX) $(CXXFLAGS) -MMD -MP -c $< -o $@
ifneq (,$(findstring -L,$(LIBDIR)))
VPATH = $(subst -L,,$(LIBDIR))
endif
define LINK
@ echo "Linking $@"
@ rm -f $@
@ $(CXX) $(CXXFLAGS) $^ $(LDFLAGS) $(LIBS) $(LDFLAG) $@
endef
define STATICLIB
@ echo "Creating library $@"
@ rm -f $@
@ $(AR) -rcs $@ $^
endef
define COMBINE
@ echo "Combine $@"
@ rm -f $@
@ $(CXX) $^ -r -o $@
endef
define EMCC
@ echo "Combine $@"
@ rm -f $@
@ $(CXX) $(EMCCOPTS) $^ -o $@
endef
-include $(OBJDIR)/*.d