include ../../config.mk

OBJ = $(patsubst %.c, %.lo, $(wildcard *.c))
JSFILES = $(wildcard ../scripts/webext/*.js)

all: $(EXTTARGET)

clean:
	$(RM) $(EXTTARGET) $(OBJ)
	$(RM) js-snippets.h

$(EXTTARGET): $(OBJ)
	@echo "$(CC) $@"
	$(Q)$(CC) $(OBJ) $(EXTLDFLAGS) -o $@

$(OBJ): js-snippets.h

js-snippets.h: $(JSFILES)
	$(Q)$(RM) $@
	@echo "create $@ from webextension scripts"
	@echo "/**" > $@
	@echo " * Minified JavaScript snippets for webextension DOM operations." >> $@
	@echo " * Auto-generated by Makefile - DO NOT EDIT MANUALLY!" >> $@
	@echo " * Generated from: $(JSFILES)" >> $@
	@echo " * " >> $@
	@echo " * To update: modify source .js files in src/scripts/webext/" >> $@
	@echo " * Then run: make clean && make" >> $@
	@echo " */" >> $@
	@echo "" >> $@
	@echo "#ifndef _JS_SNIPPETS_H" >> $@
	@echo "#define _JS_SNIPPETS_H" >> $@
	@echo "" >> $@
	$(Q)for file in $(JSFILES); do \
		../scripts/js2h.sh $$file >> $@; \
	done
	@echo "" >> $@
	@echo "#endif /* _JS_SNIPPETS_H */" >> $@

%.lo: %.c
	@echo "${CC} $@"
	$(Q)$(CC) $(EXTCPPFLAGS) $(EXTCFLAGS) -fPIC -c -o $@ $<

-include $(OBJ:.lo=.d)

.PHONY: all clean
