@@ -7,77 +7,109 @@ VERSION = $(shell grep -m1 'Version = ' $(PROJECT).go | cut -d\` -f 2)
77
88BRANCH = $(shell git branch | grep '* ' | cut -d\ -f 2)
99
10- build : bin/csvcols bin/csvrows bin/csvfind bin/csvjoin bin/jsoncols bin/jsonrange bin/xlsx2json bin/xlsx2csv bin/csv2mdtable bin/csv2xlsx bin/csv2json bin/vcard2json bin/jsonjoin bin/jsonmunge bin/findfile bin/finddir bin/mergepath bin/reldate bin/range bin/timefmt bin/urlparse bin/splitstring bin/csvcleaner
10+ OS = $( shell uname)
1111
12+ EXT =
13+ ifeq ($(OS ) , Windows)
14+ EXT = .exe
15+ endif
1216
13- bin/csvcols : datatools.go cmds/csvcols/csvcols.go
14- go build -o bin/csvcols cmds/csvcols/csvcols.go
1517
16- bin/csvrows : datatools.go cmds/csvrows/csvrows.go
17- go build -o bin/csvrows cmds/csvrows/csvrows.go
18+ build$(EXT ) : bin/csvcols$(EXT ) bin/csvrows$(EXT ) bin/csvfind$(EXT ) bin/csvjoin$(EXT ) bin/jsoncols$(EXT ) bin/jsonrange$(EXT ) bin/xlsx2json$(EXT ) bin/xlsx2csv$(EXT ) bin/csv2mdtable$(EXT ) bin/csv2xlsx$(EXT ) bin/csv2json$(EXT ) bin/vcard2json$(EXT ) bin/jsonjoin$(EXT ) bin/jsonmunge$(EXT ) bin/findfile$(EXT ) bin/finddir$(EXT ) bin/mergepath$(EXT ) bin/reldate$(EXT ) bin/range$(EXT ) bin/timefmt$(EXT ) bin/urlparse$(EXT ) bin/splitstring$(EXT ) bin/joinstring$(EXT ) bin/hasprefix$(EXT ) bin/hassuffix$(EXT ) bin/trimprefix$(EXT ) bin/trimsuffix$(EXT ) bin/tolower$(EXT ) bin/toupper$(EXT ) bin/totitle$(EXT ) bin/csvcleaner$(EXT )
1819
19- bin/csvjoin : datatools.go cmds/csvjoin/csvjoin.go
20- go build -o bin/csvjoin cmds/csvjoin/csvjoin.go
2120
22- bin/jsoncols : datatools.go cmds/jsoncols/jsoncols .go
23- go build -o bin/jsoncols cmds/jsoncols/jsoncols .go
21+ bin/csvcols $( EXT ) : datatools.go cmds/csvcols/csvcols .go
22+ go build -o bin/csvcols $( EXT ) cmds/csvcols/csvcols .go
2423
25- bin/jsonrange : datatools.go cmds/jsonrange/jsonrange .go
26- go build -o bin/jsonrange cmds/jsonrange/jsonrange .go
24+ bin/csvrows $( EXT ) : datatools.go cmds/csvrows/csvrows .go
25+ go build -o bin/csvrows $( EXT ) cmds/csvrows/csvrows .go
2726
28- bin/xlsx2json : datatools.go cmds/xlsx2json/xlsx2json .go
29- go build -o bin/xlsx2json cmds/xlsx2json/xlsx2json .go
27+ bin/csvjoin $( EXT ) : datatools.go cmds/csvjoin/csvjoin .go
28+ go build -o bin/csvjoin $( EXT ) cmds/csvjoin/csvjoin .go
3029
31- bin/xlsx2csv : datatools.go cmds/xlsx2csv/xlsx2csv .go
32- go build -o bin/xlsx2csv cmds/xlsx2csv/xlsx2csv .go
30+ bin/jsoncols $( EXT ) : datatools.go cmds/jsoncols/jsoncols .go
31+ go build -o bin/jsoncols $( EXT ) cmds/jsoncols/jsoncols .go
3332
34- bin/csv2mdtable : datatools.go cmds/csv2mdtable/csv2mdtable .go
35- go build -o bin/csv2mdtable cmds/csv2mdtable/csv2mdtable .go
33+ bin/jsonrange $( EXT ) : datatools.go cmds/jsonrange/jsonrange .go
34+ go build -o bin/jsonrange $( EXT ) cmds/jsonrange/jsonrange .go
3635
37- bin/csv2xlsx : datatools.go cmds/csv2xlsx/csv2xlsx .go
38- go build -o bin/csv2xlsx cmds/csv2xlsx/csv2xlsx .go
36+ bin/xlsx2json $( EXT ) : datatools.go cmds/xlsx2json/xlsx2json .go
37+ go build -o bin/xlsx2json $( EXT ) cmds/xlsx2json/xlsx2json .go
3938
40- bin/csv2json : datatools.go cmds/csv2json/csv2json .go
41- go build -o bin/csv2json cmds/csv2json/csv2json .go
39+ bin/xlsx2csv $( EXT ) : datatools.go cmds/xlsx2csv/xlsx2csv .go
40+ go build -o bin/xlsx2csv $( EXT ) cmds/xlsx2csv/xlsx2csv .go
4241
43- bin/csvfind : datatools.go cmds/csvfind/csvfind .go
44- go build -o bin/csvfind cmds/csvfind/csvfind .go
42+ bin/csv2mdtable $( EXT ) : datatools.go cmds/csv2mdtable/csv2mdtable .go
43+ go build -o bin/csv2mdtable $( EXT ) cmds/csv2mdtable/csv2mdtable .go
4544
46- bin/vcard2json : datatools.go cmds/vcard2json/vcard2json .go
47- go build -o bin/vcard2json cmds/vcard2json/vcard2json .go
45+ bin/csv2xlsx $( EXT ) : datatools.go cmds/csv2xlsx/csv2xlsx .go
46+ go build -o bin/csv2xlsx $( EXT ) cmds/csv2xlsx/csv2xlsx .go
4847
49- bin/jsonmunge : datatools.go cmds/jsonmunge/jsonmunge .go
50- go build -o bin/jsonmunge cmds/jsonmunge/jsonmunge .go
48+ bin/csv2json $( EXT ) : datatools.go cmds/csv2json/csv2json .go
49+ go build -o bin/csv2json $( EXT ) cmds/csv2json/csv2json .go
5150
52- bin/jsonjoin : datatools.go cmds/jsonjoin/jsonjoin .go
53- go build -o bin/jsonjoin cmds/jsonjoin/jsonjoin .go
51+ bin/csvfind $( EXT ) : datatools.go cmds/csvfind/csvfind .go
52+ go build -o bin/csvfind $( EXT ) cmds/csvfind/csvfind .go
5453
55- bin/findfile : datatools.go cmds/findfile/findfile .go
56- go build -o bin/findfile cmds/findfile/findfile .go
54+ bin/vcard2json $( EXT ) : datatools.go cmds/vcard2json/vcard2json .go
55+ go build -o bin/vcard2json $( EXT ) cmds/vcard2json/vcard2json .go
5756
58- bin/finddir : datatools.go cmds/finddir/finddir .go
59- go build -o bin/finddir cmds/finddir/finddir .go
57+ bin/jsonmunge $( EXT ) : datatools.go cmds/jsonmunge/jsonmunge .go
58+ go build -o bin/jsonmunge $( EXT ) cmds/jsonmunge/jsonmunge .go
6059
61- bin/mergepath : datatools.go cmds/mergepath/mergepath .go
62- go build -o bin/mergepath cmds/mergepath/mergepath .go
60+ bin/jsonjoin $( EXT ) : datatools.go cmds/jsonjoin/jsonjoin .go
61+ go build -o bin/jsonjoin $( EXT ) cmds/jsonjoin/jsonjoin .go
6362
64- bin/reldate : datatools.go cmds/reldate/reldate .go
65- go build -o bin/reldate cmds/reldate/reldate .go
63+ bin/findfile $( EXT ) : datatools.go cmds/findfile/findfile .go
64+ go build -o bin/findfile $( EXT ) cmds/findfile/findfile .go
6665
67- bin/range : datatools.go cmds/range/range .go
68- go build -o bin/range cmds/range/range .go
66+ bin/finddir $( EXT ) : datatools.go cmds/finddir/finddir .go
67+ go build -o bin/finddir $( EXT ) cmds/finddir/finddir .go
6968
70- bin/timefmt : datatools.go cmds/timefmt/timefmt .go
71- go build -o bin/timefmt cmds/timefmt/timefmt .go
69+ bin/mergepath $( EXT ) : datatools.go cmds/mergepath/mergepath .go
70+ go build -o bin/mergepath $( EXT ) cmds/mergepath/mergepath .go
7271
73- bin/urlparse : datatools.go cmds/urlparse/urlparse .go
74- go build -o bin/urlparse cmds/urlparse/urlparse .go
72+ bin/reldate $( EXT ) : datatools.go cmds/reldate/reldate .go
73+ go build -o bin/reldate $( EXT ) cmds/reldate/reldate .go
7574
76- bin/splitstring : datatools.go cmds/splitstring/splitstring .go
77- go build -o bin/splitstring cmds/splitstring/splitstring .go
75+ bin/range $( EXT ) : datatools.go cmds/range/range .go
76+ go build -o bin/range $( EXT ) cmds/range/range .go
7877
79- bin/csvcleaner : datatools.go cmds/csvcleaner/csvcleaner.go
80- go build -o bin/csvcleaner cmds/csvcleaner/csvcleaner.go
78+ bin/timefmt$(EXT ) : datatools.go cmds/timefmt/timefmt.go
79+ go build -o bin/timefmt$(EXT ) cmds/timefmt/timefmt.go
80+
81+ bin/urlparse$(EXT ) : datatools.go cmds/urlparse/urlparse.go
82+ go build -o bin/urlparse$(EXT ) cmds/urlparse/urlparse.go
83+
84+ bin/splitstring$(EXT ) : datatools.go cmds/splitstring/splitstring.go
85+ go build -o bin/splitstring$(EXT ) cmds/splitstring/splitstring.go
86+
87+ bin/joinstring$(EXT ) : datatools.go cmds/joinstring/joinstring.go
88+ go build -o bin/joinstring$(EXT ) cmds/joinstring/joinstring.go
89+
90+ bin/hasprefix$(EXT ) : datatools.go cmds/hasprefix/hasprefix.go
91+ go build -o bin/hasprefix$(EXT ) cmds/hasprefix/hasprefix.go
92+
93+ bin/hassuffix$(EXT ) : datatools.go cmds/hassuffix/hassuffix.go
94+ go build -o bin/hassuffix$(EXT ) cmds/hassuffix/hassuffix.go
95+
96+ bin/trimprefix$(EXT ) : datatools.go cmds/trimprefix/trimprefix.go
97+ go build -o bin/trimprefix$(EXT ) cmds/trimprefix/trimprefix.go
98+
99+ bin/trimsuffix$(EXT ) : datatools.go cmds/trimsuffix/trimsuffix.go
100+ go build -o bin/trimsuffix$(EXT ) cmds/trimsuffix/trimsuffix.go
101+
102+ bin/tolower$(EXT ) : datatools.go cmds/tolower/tolower.go
103+ go build -o bin/tolower$(EXT ) cmds/tolower/tolower.go
104+
105+ bin/toupper$(EXT ) : datatools.go cmds/toupper/toupper.go
106+ go build -o bin/toupper$(EXT ) cmds/toupper/toupper.go
107+
108+ bin/totitle$(EXT ) : datatools.go cmds/totitle/totitle.go
109+ go build -o bin/totitle$(EXT ) cmds/totitle/totitle.go
110+
111+ bin/csvcleaner$(EXT ) : datatools.go cmds/csvcleaner/csvcleaner.go
112+ go build -o bin/csvcleaner$(EXT ) cmds/csvcleaner/csvcleaner.go
81113
82114test :
83115 go test
@@ -127,6 +159,14 @@ install:
127159 env GOBIN=$(GOPATH ) /bin go install cmds/xlsx2json/xlsx2json.go
128160 env GOBIN=$(GOPATH ) /bin go install cmds/xlsx2csv/xlsx2csv.go
129161 env GOBIN=$(GOPATH ) /bin go install cmds/splitstring/splitstring.go
162+ env GOBIN=$(GOPATH ) /bin go install cmds/joinstring/joinstring.go
163+ env GOBIN=$(GOPATH ) /bin go install cmds/hasprefix/hasprefix.go
164+ env GOBIN=$(GOPATH ) /bin go install cmds/hassuffix/hassuffix.go
165+ env GOBIN=$(GOPATH ) /bin go install cmds/trimprefix/trimprefix.go
166+ env GOBIN=$(GOPATH ) /bin go install cmds/trimsuffix/trimsuffix.go
167+ env GOBIN=$(GOPATH ) /bin go install cmds/tolower/tolower.go
168+ env GOBIN=$(GOPATH ) /bin go install cmds/toupper/toupper.go
169+ env GOBIN=$(GOPATH ) /bin go install cmds/totitle/totitle.go
130170 env GOBIN=$(GOPATH ) /bin go install cmds/csvcleaner/csvcleaner.go
131171
132172dist/linux-amd64 :
@@ -153,6 +193,14 @@ dist/linux-amd64:
153193 env GOOS=linux GOARCH=amd64 go build -o dist/bin/timefmt cmds/timefmt/timefmt.go
154194 env GOOS=linux GOARCH=amd64 go build -o dist/bin/urlparse cmds/urlparse/urlparse.go
155195 env GOOS=linux GOARCH=amd64 go build -o dist/bin/splitstring cmds/splitstring/splitstring.go
196+ env GOOS=linux GOARCH=amd64 go build -o dist/bin/joinstring cmds/joinstring/joinstring.go
197+ env GOOS=linux GOARCH=amd64 go build -o dist/bin/hasprefix cmds/hasprefix/hasprefix.go
198+ env GOOS=linux GOARCH=amd64 go build -o dist/bin/hassuffix cmds/hassuffix/hassuffix.go
199+ env GOOS=linux GOARCH=amd64 go build -o dist/bin/trimprefix cmds/trimprefix/trimprefix.go
200+ env GOOS=linux GOARCH=amd64 go build -o dist/bin/trimsuffix cmds/trimsuffix/trimsuffix.go
201+ env GOOS=linux GOARCH=amd64 go build -o dist/bin/tolower cmds/tolower/tolower.go
202+ env GOOS=linux GOARCH=amd64 go build -o dist/bin/toupper cmds/toupper/toupper.go
203+ env GOOS=linux GOARCH=amd64 go build -o dist/bin/totitle cmds/totitle/totitle.go
156204 env GOOS=linux GOARCH=amd64 go build -o dist/bin/csvcleaner cmds/csvcleaner/csvcleaner.go
157205 cd dist && zip -r $(PROJECT ) -$(VERSION ) -linux-amd64.zip README.md LICENSE INSTALL.md bin/* docs/* how-to/* demos/*
158206 rm -fR dist/bin
@@ -182,6 +230,14 @@ dist/macosx-amd64:
182230 env GOOS=darwin GOARCH=amd64 go build -o dist/bin/timefmt cmds/timefmt/timefmt.go
183231 env GOOS=darwin GOARCH=amd64 go build -o dist/bin/urlparse cmds/urlparse/urlparse.go
184232 env GOOS=darwin GOARCH=amd64 go build -o dist/bin/splitstring cmds/splitstring/splitstring.go
233+ env GOOS=darwin GOARCH=amd64 go build -o dist/bin/joinstring cmds/joinstring/joinstring.go
234+ env GOOS=darwin GOARCH=amd64 go build -o dist/bin/hasprefix cmds/hasprefix/hasprefix.go
235+ env GOOS=darwin GOARCH=amd64 go build -o dist/bin/hassuffix cmds/hassuffix/hassuffix.go
236+ env GOOS=darwin GOARCH=amd64 go build -o dist/bin/trimprefix cmds/trimprefix/trimprefix.go
237+ env GOOS=darwin GOARCH=amd64 go build -o dist/bin/trimsuffix cmds/trimsuffix/trimsuffix.go
238+ env GOOS=darwin GOARCH=amd64 go build -o dist/bin/tolower cmds/tolower/tolower.go
239+ env GOOS=darwin GOARCH=amd64 go build -o dist/bin/toupper cmds/toupper/toupper.go
240+ env GOOS=darwin GOARCH=amd64 go build -o dist/bin/totitle cmds/totitle/totitle.go
185241 env GOOS=darwin GOARCH=amd64 go build -o dist/bin/csvcleaner cmds/csvcleaner/csvcleaner.go
186242 cd dist && zip -r $(PROJECT ) -$(VERSION ) -macosx-amd64.zip README.md LICENSE INSTALL.md bin/* docs/* how-to/* demos/*
187243 rm -fR dist/bin
@@ -212,6 +268,14 @@ dist/windows-amd64:
212268 env GOOS=windows GOARCH=amd64 go build -o dist/bin/timefmt.exe cmds/timefmt/timefmt.go
213269 env GOOS=windows GOARCH=amd64 go build -o dist/bin/urlparse.exe cmds/urlparse/urlparse.go
214270 env GOOS=windows GOARCH=amd64 go build -o dist/bin/splitstring.exe cmds/splitstring/splitstring.go
271+ env GOOS=windows GOARCH=amd64 go build -o dist/bin/joinstring.exe cmds/joinstring/joinstring.go
272+ env GOOS=windows GOARCH=amd64 go build -o dist/bin/hasprefix.exe cmds/hasprefix/hasprefix.go
273+ env GOOS=windows GOARCH=amd64 go build -o dist/bin/hassuffix.exe cmds/hassuffix/hassuffix.go
274+ env GOOS=windows GOARCH=amd64 go build -o dist/bin/trimprefix.exe cmds/trimprefix/trimprefix.go
275+ env GOOS=windows GOARCH=amd64 go build -o dist/bin/trimsuffix.exe cmds/trimsuffix/trimsuffix.go
276+ env GOOS=windows GOARCH=amd64 go build -o dist/bin/tolower.exe cmds/tolower/tolower.go
277+ env GOOS=windows GOARCH=amd64 go build -o dist/bin/toupper.exe cmds/toupper/toupper.go
278+ env GOOS=windows GOARCH=amd64 go build -o dist/bin/totitle.exe cmds/totitle/totitle.go
215279 env GOOS=windows GOARCH=amd64 go build -o dist/bin/csvcleaner.exe cmds/csvcleaner/csvcleaner.go
216280 cd dist && zip -r $(PROJECT ) -$(VERSION ) -windows-amd64.zip README.md LICENSE INSTALL.md bin/* docs/* how-to/* demos/*
217281 rm -fR dist/bin
@@ -243,6 +307,14 @@ dist/raspbian-arm7:
243307 env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/timefmt cmds/timefmt/timefmt.go
244308 env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/urlparse cmds/urlparse/urlparse.go
245309 env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/splitstring cmds/splitstring/splitstring.go
310+ env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/joinstring cmds/joinstring/joinstring.go
311+ env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/hasprefix cmds/hasprefix/hasprefix.go
312+ env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/hassuffix cmds/hassuffix/hassuffix.go
313+ env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/trimprefix cmds/trimprefix/trimprefix.go
314+ env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/trimsuffix cmds/trimsuffix/trimsuffix.go
315+ env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/tolower cmds/tolower/tolower.go
316+ env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/toupper cmds/toupper/toupper.go
317+ env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/totitle cmds/totitle/totitle.go
246318 env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/csvcleaner cmds/csvcleaner/csvcleaner.go
247319 cd dist && zip -r $(PROJECT ) -$(VERSION ) -raspbian-arm7.zip README.md LICENSE INSTALL.md bin/* docs/* how-to/* demos/*
248320 rm -fR dist/bin
0 commit comments