srcdir ?= $(top_srcdir)
builddir ?= $(top_builddir)/$(variant)
+docdir ?= $(top_builddir)/firm-doc
# This hides the noisy commandline outputs. You can see them with "make Q="
Q ?= @
# General flags
CFLAGS += $(CFLAGS_$(variant))
CFLAGS += -Wall -W -Wextra -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings
-LINKFLAGS += $(LINKFLAGS_$(variant))
+LINKFLAGS += $(LINKFLAGS_$(variant)) -lm
VPATH = $(srcdir)
REVISION ?= $(shell git describe --abbrev=40 --always --dirty --match '')
$(libfirm_dll): $(libfirm_OBJECTS)
@echo LINK $@
- $(Q)$(LINK) -shared -o $@ $^
+ $(Q)$(LINK) -shared $(LINKFLAGS) -o $@ $^
# Generic rules
UNUSED := $(shell mkdir -p $(libfirm_DIRS:%=$(builddir)/%))
@echo CC $@
$(Q)$(CC) $(CFLAGS) $(CPPFLAGS) $(libfirm_CPPFLAGS) -MMD -c -o $@ $<
-firm-doc/libfirm.tag: $(IR_SPEC_GENERATED_FILES) Doxyfile $(wildcard include/libfirm/*.h) $(wildcard include/libfirm/adt/*.h)
+$(docdir)/libfirm.tag: $(IR_SPEC_GENERATED_FILES) Doxyfile $(wildcard include/libfirm/*.h) $(wildcard include/libfirm/adt/*.h)
@echo Doxygen
$(Q)$(DOXYGEN)
DOCU_GENERATOR := scripts/gen_docu.py
-firm-doc/html/nodes.html: firm-doc/libfirm.tag $(DOCU_GENERATOR) $(IR_SPEC) scripts/spec_util.py scripts/style.css
+$(docdir)/html/nodes.html: $(docdir)/libfirm.tag $(DOCU_GENERATOR) $(IR_SPEC) scripts/spec_util.py scripts/style.css
@echo gen_docu.py
- $(Q)$(DOCU_GENERATOR) firm-doc/libfirm.tag "" $@
- $(Q)cp scripts/style.css firm-doc/html
+ $(Q)$(DOCU_GENERATOR) $(docdir)/libfirm.tag "" $@
+ $(Q)cp scripts/style.css $(docdir)/html
.PHONY: documentation
-documentation: firm-doc/libfirm.tag firm-doc/html/nodes.html
+documentation: $(docdir)/libfirm.tag $(docdir)/html/nodes.html
.PHONY: clean
clean:
$(Q)rm -f $(libfirm_OBJECTS)
$(Q)rm -f $(libfirm_TARGET)
$(Q)rm -f $(shell find ir/ -name "gen_*.[ch]")
- $(Q)rm -rf firm-docu