forked from sheetjs/sheetjs
38 lines
991 B
Makefile
38 lines
991 B
Makefile
LIBFILES=src/types.ts
|
|
#LIBFILES=$(wildcard src/*.ts)
|
|
TSFILES=$(wildcard *.ts)
|
|
ENTRIES=$(subst .ts,.js,$(TSFILES))
|
|
CC=esbuild@0.14.14
|
|
|
|
BAREJS=04_base64.js 32_odmanrdf.js 45_rtf.js 51_xlsxmeta.js 51_xlsbmeta.js 59_vba.js 64_ftab.js 83_numbers.js
|
|
|
|
.PHONY: all
|
|
all: bits xlsx.zahl.js
|
|
|
|
.PHONY: lint
|
|
lint: $(filter-out $(wildcard *.node.ts),$(TSFILES))
|
|
tsc --strict --noEmit $^
|
|
|
|
.PHONY: bits
|
|
bits: $(ENTRIES)
|
|
|
|
xlsx.zahl.js: test.numbers
|
|
bash -c ./reframe.sh
|
|
|
|
$(BAREJS): %.js: %.ts $(LIBFILES)
|
|
npx $(CC) $< --outfile=$@ --platform=browser --target=es5
|
|
|
|
%.node.js: %.node.ts $(LIBFILES) src/numbers.ts
|
|
npx $(CC) $< --bundle --external:xlsx --outfile=$@ --platform=node
|
|
sed -i '' 's/ts-node/node/g' $@ || sed -i'' 's/ts-node/node/g' $@ || { echo "sed failed"; exit 1; }
|
|
|
|
%.js: %.ts $(LIBFILES)
|
|
npx $(CC) $< --bundle --outfile=$@ --platform=browser --format=iife --global-name=$* --target=es5
|
|
|
|
src/numbers.ts: 83_numbers.ts
|
|
cat $< | sed 's/^\/\/<<//g' > $@
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
rm $(ENTRIES)
|