|
3 | 3 | # |
4 | 4 | PROJECT = datatools |
5 | 5 |
|
| 6 | +GIT_GROUP = caltechlibrary |
| 7 | + |
| 8 | +RELEASE_DATE=$(shell date +'%Y-%m-%d') |
| 9 | + |
| 10 | +RELEASE_HASH=$(shell git log --pretty=format:'%h' -n 1) |
| 11 | + |
| 12 | + |
6 | 13 | PROGRAMS = codemeta2cff csv2json csv2mdtable csv2tab csv2xlsx csvcleaner csvcols csvfind csvjoin csvrows finddir findfile json2toml json2yaml jsoncols jsonjoin jsonmunge jsonrange mergepath range reldate reltime sql2csv string tab2csv timefmt toml2json urlparse xlsx2csv xlsx2json yaml2json |
7 | 14 |
|
8 | 15 | MAN_PAGES = codemeta2cff.1 csv2json.1 csv2mdtable.1 csv2tab.1 csv2xlsx.1 csvcleaner.1 csvcols.1 csvfind.1 csvjoin.1 csvrows.1 finddir.1 findfile.1 json2toml.1 json2yaml.1 jsoncols.1 jsonjoin.1 jsonmunge.1 jsonrange.1 mergepath.1 range.1 reldate.1 reltime.1 sql2csv.1 string.1 tab2csv.1 timefmt.1 toml2json.1 urlparse.1 xlsx2csv.1 xlsx2json.1 yaml2json.1 |
@@ -54,10 +61,9 @@ CITATION.cff: codemeta.json .FORCE |
54 | 61 | if [ -f $(PANDOC) ]; then echo "" | $(PANDOC) --metadata title="Cite $(PROJECT)" --metadata-file=_codemeta.json --template=codemeta-cff.tmpl >CITATION.cff; fi |
55 | 62 |
|
56 | 63 | installer.sh: .FORCE |
57 | | - echo '' | pandoc --metadata title="$(PACKAGE)" --metadata-file codemeta.json --template codemeta-installer.tmpl >installer.sh |
58 | | - chmod 775 installer.sh |
59 | | - git add -f installer.sh |
60 | | - |
| 64 | + @echo '' | pandoc --metadata title="Installer" --metadata git_org_or_person="$(GIT_GROUP)" --metadata-file codemeta.json --template codemeta-installer.tmpl >installer.sh |
| 65 | + @chmod 775 installer.sh |
| 66 | + @git add -f installer.sh |
61 | 67 |
|
62 | 68 | $(PROGRAMS): $(PACKAGE) |
63 | 69 | @mkdir -p bin |
@@ -119,44 +125,57 @@ uninstall: .FORCE |
119 | 125 |
|
120 | 126 |
|
121 | 127 |
|
122 | | -dist/linux-amd64: $(PROGRAMS) |
| 128 | +dist/Linux-x86_64: $(PROGRAMS) |
123 | 129 | @mkdir -p dist/bin |
124 | 130 | @for FNAME in $(PROGRAMS); do env GOOS=linux GOARCH=amd64 go build -o dist/bin/$$FNAME cmd/$$FNAME/*.go; done |
125 | | - @cd dist && zip -r $(PROJECT)-v$(VERSION)-linux-amd64.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* man/* |
| 131 | + @cd dist && zip -r $(PROJECT)-v$(VERSION)-Linux-x86_64.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* man/* |
126 | 132 | @rm -fR dist/bin |
127 | 133 |
|
128 | 134 |
|
129 | | -dist/macos-amd64: $(PROGRAMS) |
| 135 | +dist/macOS-x86_64: $(PROGRAMS) |
130 | 136 | @mkdir -p dist/bin |
131 | 137 | @for FNAME in $(PROGRAMS); do env GOOS=darwin GOARCH=amd64 go build -o dist/bin/$$FNAME cmd/$$FNAME/*.go; done |
132 | | - @cd dist && zip -r $(PROJECT)-v$(VERSION)-macos-amd64.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* man/* |
| 138 | + @cd dist && zip -r $(PROJECT)-v$(VERSION)-macOS-x86_64.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* man/* |
133 | 139 | @rm -fR dist/bin |
134 | 140 |
|
135 | 141 |
|
136 | | -dist/macos-arm64: $(PROGRAMS) |
| 142 | +dist/macOS-arm64: $(PROGRAMS) |
137 | 143 | @mkdir -p dist/bin |
138 | 144 | @for FNAME in $(PROGRAMS); do env GOOS=darwin GOARCH=arm64 go build -o dist/bin/$$FNAME cmd/$$FNAME/*.go; done |
139 | | - @cd dist && zip -r $(PROJECT)-v$(VERSION)-macos-arm64.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* man/* |
| 145 | + @cd dist && zip -r $(PROJECT)-v$(VERSION)-macOS-arm64.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* man/* |
140 | 146 | @rm -fR dist/bin |
141 | 147 |
|
142 | 148 |
|
143 | | -dist/windows-amd64: $(PROGRAMS) |
| 149 | +dist/Windows-x86_64: $(PROGRAMS) |
144 | 150 | @mkdir -p dist/bin |
145 | 151 | @for FNAME in $(PROGRAMS); do env GOOS=windows GOARCH=amd64 go build -o dist/bin/$$FNAME.exe cmd/$$FNAME/*.go; done |
146 | | - @cd dist && zip -r $(PROJECT)-v$(VERSION)-windows-amd64.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* man/* |
| 152 | + @cd dist && zip -r $(PROJECT)-v$(VERSION)-Windows-x86_64.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* man/* |
147 | 153 | @rm -fR dist/bin |
148 | 154 |
|
149 | | -dist/windows-arm64: $(PROGRAMS) |
| 155 | +dist/Windows-arm64: $(PROGRAMS) |
150 | 156 | @mkdir -p dist/bin |
151 | 157 | @for FNAME in $(PROGRAMS); do env GOOS=windows GOARCH=arm64 go build -o dist/bin/$$FNAME.exe cmd/$$FNAME/*.go; done |
152 | | - @cd dist && zip -r $(PROJECT)-v$(VERSION)-windows-arm64.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* man/* |
| 158 | + @cd dist && zip -r $(PROJECT)-v$(VERSION)-Windows-arm64.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* man/* |
| 159 | + @rm -fR dist/bin |
| 160 | + |
| 161 | +# Raspberry Pi OS (32bit) as reported on Raspberry Pi 3B+ |
| 162 | +dist/Linux-armv7l: $(PROGRAMS) |
| 163 | + @mkdir -p dist/bin |
| 164 | + @for FNAME in $(PROGRAMS); do env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/$$FNAME cmd/$$FNAME/*.go; done |
| 165 | + @cd dist && zip -r $(PROJECT)-v$(VERSION)-RaspberryPiOS-arm7.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* man/* |
153 | 166 | @rm -fR dist/bin |
154 | 167 |
|
| 168 | +# Raspberry Pi running Ubuntu 64-bit, as reported on Raspberry Pi 4B |
| 169 | +dist/Linux-aarch64: $(PROGRAMS) |
| 170 | + @mkdir -p dist/bin |
| 171 | + @for FNAME in $(PROGRAMS); do env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/$$FNAME cmd/$$FNAME/*.go; done |
| 172 | + @cd dist && zip -r $(PROJECT)-v$(VERSION)-Linux-aarch64.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* man/* |
| 173 | + @rm -fR dist/bin |
155 | 174 |
|
156 | | -dist/raspbian-arm7: $(PROGRAMS) |
| 175 | +dist/RaspberryPiOS-arm7: $(PROGRAMS) |
157 | 176 | @mkdir -p dist/bin |
158 | 177 | @for FNAME in $(PROGRAMS); do env GOOS=linux GOARCH=arm GOARM=7 go build -o dist/bin/$$FNAME cmd/$$FNAME/*.go; done |
159 | | - @cd dist && zip -r $(PROJECT)-v$(VERSION)-raspberry_pi_os-arm7.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* man/* |
| 178 | + @cd dist && zip -r $(PROJECT)-v$(VERSION)-RaspberryPiOS-arm7.zip LICENSE codemeta.json CITATION.cff *.md bin/* docs/* how-to/* man/* |
160 | 179 | @rm -fR dist/bin |
161 | 180 |
|
162 | 181 | #dist/datatools_$(VERSION)_amd64.snap: |
@@ -199,7 +218,7 @@ gen_batfiles: .FORCE |
199 | 218 |
|
200 | 219 | snap: dist/datatools_$(VERSION)_amd64.snap |
201 | 220 |
|
202 | | -release: clean build man gen_batfiles distribute_docs dist/linux-amd64 dist/macos-amd64 dist/macos-arm64 dist/windows-amd64 dist/windows-arm64 dist/raspbian-arm7 |
| 221 | +release: .FORCE installer.sh clean build man gen_batfiles distribute_docs dist/Linux-x86_64 dist/macOS-x86_64 dist/macOS-arm64 dist/Windows-x86_64 dist/Windows-arm64 dist/RaspberryPiOS-arm7 dist/Linux-armv7l dist/Linux-aarch64 |
203 | 222 |
|
204 | 223 |
|
205 | 224 | .FORCE: |
0 commit comments