@@ -3,15 +3,16 @@ current_dir := $(notdir $(patsubst %/,%,$(dir $(mkfile_path))))
3
3
4
4
MODULE := $(current_dir )
5
5
PREFIX ?= ~/.hammerspoon
6
+ VERSION ?= 0.x
6
7
HS_APPLICATION ?= /Applications
7
8
8
9
OBJCFILE = ${wildcard *.m}
9
10
LUAFILE = ${wildcard *.lua}
10
11
HEADERS = ${wildcard *.h}
11
12
12
13
SOFILE := $(OBJCFILE:.m=.so )
14
+ # SOFILE := internal.so
13
15
DEBUG_CFLAGS ?= -g
14
- DOC_FILE = hs._asm.undocumented.$(MODULE ) .json
15
16
16
17
# special vars for uninstall
17
18
space :=
@@ -23,48 +24,52 @@ ALLFILES += $(SOFILE)
23
24
.SUFFIXES : .m .so
24
25
25
26
# CC=cc
26
- CC =clang
27
- EXTRA_CFLAGS ?= -Wconversion -Wdeprecated -F$(HS_APPLICATION ) /Hammerspoon.app/Contents/Frameworks
28
- CFLAGS += $(DEBUG_CFLAGS ) -fmodules -fobjc-arc -DHS_EXTERNAL_MODULE -Wall -Wextra $(EXTRA_CFLAGS )
27
+ CC =@clang
28
+ WARNINGS ?= -Weverything -Wno-objc-missing-property-synthesis -Wno-implicit-atomic-properties -Wno-direct-ivar-access -Wno-cstring-format-directive -Wno-padded -Wno-covered-switch-default -Wno-missing-prototypes -Werror-implicit-function-declaration
29
+ EXTRA_CFLAGS ?= -F$(HS_APPLICATION ) /Hammerspoon.app/Contents/Frameworks -mmacosx-version-min=10.10
30
+
31
+ CFLAGS += $(DEBUG_CFLAGS ) -fmodules -fobjc-arc -DHS_EXTERNAL_MODULE $(WARNINGS ) $(EXTRA_CFLAGS )
29
32
LDFLAGS += -dynamiclib -undefined dynamic_lookup $(EXTRA_LDFLAGS )
30
33
31
- DOC_SOURCES = $(LUAFILE ) $( OBJCFILE )
34
+ all : verify $(SOFILE )
32
35
33
- all : $(SOFILE )
36
+ release : clean all
37
+ HS_APPLICATION=$(HS_APPLICATION ) PREFIX=tmp make install ; cd tmp ; tar -cf ../$(MODULE ) -v$(VERSION ) .tar hs ; cd .. ; gzip $(MODULE ) -v$(VERSION ) .tar
34
38
35
- .m.so : $(HEADERS )
39
+ .m.so : $(HEADERS ) $( OBJCFILE )
36
40
$(CC ) $< $(CFLAGS ) $(LDFLAGS ) -o $@
37
41
42
+ # internal.so: $(HEADERS) $(OBJCFILE)
43
+ # $(CC) $(OBJCFILE) $(CFLAGS) $(LDFLAGS) -o $@
44
+
38
45
install : verify install-objc install-lua
39
46
40
47
verify : $(LUAFILE )
41
- luac-5.3 -p $(LUAFILE ) && echo " Passed"
48
+ @if $$( hash lua-5.3 >& /dev/null ) ; then ( luac-5.3 -p $( LUAFILE) && echo " Lua Compile Verification Passed" ) ; else echo " Skipping Lua Compile Verification " ; fi
42
49
43
50
install-objc : $(SOFILE )
44
51
mkdir -p $(PREFIX ) /hs/_asm/undocumented/$(MODULE )
45
52
install -m 0644 $(SOFILE ) $(PREFIX ) /hs/_asm/undocumented/$(MODULE )
46
53
cp -vpR $(OBJCFILE:.m=.so.dSYM ) $(PREFIX ) /hs/_asm/undocumented/$(MODULE )
54
+ # cp -vpR $(SOFILE:.so=.so.dSYM) $(PREFIX)/hs/_asm/undocumented/$(MODULE)
47
55
48
56
install-lua : $(LUAFILE )
49
57
mkdir -p $(PREFIX ) /hs/_asm/undocumented/$(MODULE )
50
58
install -m 0644 $(LUAFILE ) $(PREFIX ) /hs/_asm/undocumented/$(MODULE )
51
59
52
- docs : $(DOC_FILE )
60
+ markdown :
61
+ hs -c " dofile(\" utils/docmaker.lua\" ).genMarkdown([[$( dir $( mkfile_path) ) ]])" > README.tmp.md
53
62
54
- $(DOC_FILE ) : $(DOC_SOURCES )
55
- find . -type f \( -name ' *.lua' -o -name ' *.m' \) -not -name ' template.*' -not -path ' ./_*' -exec cat {} + | __doc_tools/gencomments | __doc_tools/genjson > $@
56
-
57
- install-docs : docs
58
- mkdir -p $(PREFIX ) /hs/_asm/undocumented/$(MODULE )
59
- install -m 0644 $(DOC_FILE ) $(PREFIX ) /hs/_asm/undocumented/$(MODULE )
63
+ markdownWithTOC :
64
+ hs -c " dofile(\" utils/docmaker.lua\" ).genMarkdown([[$( dir $( mkfile_path) ) ]], true)" > README.tmp.md
60
65
61
66
clean :
62
- rm -v - rf $(SOFILE ) * .dSYM $( DOC_FILE )
67
+ rm -rf $(SOFILE ) * .dSYM tmp
63
68
64
69
uninstall :
65
70
rm -v -f $(PREFIX ) /hs/_asm/undocumented/$(MODULE ) /{$(subst $(space ) ,$(comma ) ,$(ALLFILES ) ) }
66
71
(pushd $( PREFIX) /hs/_asm/undocumented/$( MODULE) / ; rm -v -fr $( OBJCFILE:.m=.so.dSYM) ; popd)
67
- rm -v -f $(PREFIX ) /hs/_asm/undocumented/$(MODULE ) /$( DOC_FILE )
72
+ # (pushd $(PREFIX)/hs/_asm/undocumented/$(MODULE)/ ; rm -v -fr $(SOFILE:.so=.so.dSYM) ; popd )
68
73
rmdir -p $(PREFIX)/hs/_asm/undocumented/$(MODULE) ; exit 0
69
74
70
- .PHONY : all clean uninstall verify docs install install-objc install-lua install-docs
75
+ .PHONY : all clean uninstall verify install install-objc install-lua
0 commit comments