|
| 1 | +# Makefile for rockspec |
| 2 | +# |
| 3 | +# luarocks MAKE=make CC=gcc LD=gcc make --lua-dir ../../luaclibs/lua/src |
| 4 | +# |
| 5 | +# see https://github.com/luarocks/luarocks/wiki/Creating-a-Makefile-that-plays-nice-with-LuaRocks |
| 6 | +# and https://github.com/luarocks/luarocks/wiki/Recommended-practices-for-Makefiles |
| 7 | + |
| 8 | +CC ?= gcc |
| 9 | + |
| 10 | +PLAT ?= windows |
| 11 | +LIBNAME = webview |
| 12 | + |
| 13 | +#LUA_APP = $(LUA_BINDIR)/$(LUA) |
| 14 | +LUA_APP = $(LUA) |
| 15 | +LUA_VERSION = $(shell $(LUA_APP) -e "print(string.sub(_VERSION, 5))") |
| 16 | +LUA_LIBNAME = lua$(subst .,,$(LUA_VERSION)) |
| 17 | + |
| 18 | +CFLAGS_windows = -Wall \ |
| 19 | + -Wextra \ |
| 20 | + -Wno-unused-parameter \ |
| 21 | + -Wstrict-prototypes \ |
| 22 | + -I$(LUA_INCDIR) \ |
| 23 | + -DWEBVIEW_WINAPI=1 |
| 24 | + |
| 25 | +LIBFLAG_windows = -O \ |
| 26 | + -shared \ |
| 27 | + -Wl,-s \ |
| 28 | + -L$(LUA_LIBDIR) -l$(LUA_LIBNAME) \ |
| 29 | + -static-libgcc \ |
| 30 | + -lole32 -lcomctl32 -loleaut32 -luuid -mwindows |
| 31 | + |
| 32 | +TARGET_windows = $(LIBNAME).dll |
| 33 | + |
| 34 | +CFLAGS_linux = -pedantic \ |
| 35 | + -Wall \ |
| 36 | + -Wextra \ |
| 37 | + -Wno-unused-parameter \ |
| 38 | + -Wstrict-prototypes \ |
| 39 | + -I$(LUA_INCDIR) \ |
| 40 | + -DWEBVIEW_GTK=1 \ |
| 41 | + $(shell pkg-config --cflags gtk+-3.0 webkit2gtk-4.0) |
| 42 | + |
| 43 | +LIBFLAG_linux= -static-libgcc \ |
| 44 | + -Wl,-s \ |
| 45 | + -L$(LUA_LIBDIR) \ |
| 46 | + $(shell pkg-config --libs gtk+-3.0 webkit2gtk-4.0) |
| 47 | + |
| 48 | +TARGET_linux = $(LIBNAME).so |
| 49 | + |
| 50 | + |
| 51 | +TARGET = $(TARGET_$(PLAT)) |
| 52 | + |
| 53 | +SOURCES = webview.c |
| 54 | + |
| 55 | +OBJS = webview.o |
| 56 | + |
| 57 | +lib: $(TARGET) |
| 58 | + |
| 59 | +install: |
| 60 | + cp $(TARGET) $(INST_LIBDIR) |
| 61 | + |
| 62 | +show: |
| 63 | + @echo PLAT: $(PLAT) |
| 64 | + @echo LUA_VERSION: $(LUA_VERSION) |
| 65 | + @echo LUA_LIBNAME: $(LUA_LIBNAME) |
| 66 | + @echo CFLAGS: $(CFLAGS) |
| 67 | + @echo LIBFLAG: $(LIBFLAG) |
| 68 | + @echo LUA_LIBDIR: $(LUA_LIBDIR) |
| 69 | + @echo LUA_BINDIR: $(LUA_BINDIR) |
| 70 | + @echo LUA_INCDIR: $(LUA_INCDIR) |
| 71 | + @echo LUA: $(LUA) |
| 72 | + @echo LUALIB: $(LUALIB) |
| 73 | + |
| 74 | +show-install: |
| 75 | + @echo PREFIX: $(PREFIX) or $(INST_PREFIX) |
| 76 | + @echo BINDIR: $(BINDIR) or $(INST_BINDIR) |
| 77 | + @echo LIBDIR: $(LIBDIR) or $(INST_LIBDIR) |
| 78 | + @echo LUADIR: $(LUADIR) or $(INST_LUADIR) |
| 79 | + |
| 80 | +$(TARGET): $(OBJS) |
| 81 | + $(CC) $(OBJS) $(LIBFLAG) $(LIBFLAG_$(PLAT)) -o $(TARGET) |
| 82 | + |
| 83 | +clean: |
| 84 | + -$(RM) $(OBJS) $(TARGET) |
| 85 | + |
| 86 | +$(OBJS): %.o : %.c $(SOURCES) |
| 87 | + $(CC) $(CFLAGS) $(CFLAGS_$(PLAT)) -c -o $@ $< |
0 commit comments