X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=Makefile;h=39156e366a0fdd40076f752131f822d17e4d243c;hb=097dbcc83119efd4bff7b9518c6274290963f4d2;hp=906004d7ac8fa5622ecd23aae473c6614accd86d;hpb=d3310a3234a5195bb2eb4bafc8c756dbe3713332;p=libfirm diff --git a/Makefile b/Makefile index 906004d7a..39156e366 100644 --- a/Makefile +++ b/Makefile @@ -14,18 +14,19 @@ variant ?= debug srcdir ?= $(top_srcdir) builddir ?= $(top_builddir)/$(variant) +docdir ?= $(top_builddir)/doc # This hides the noisy commandline outputs. You can see them with "make Q=" Q ?= @ CC ?= cc +DOXYGEN ?= doxygen LINK ?= $(CC) -AR ?= ar ru -RANLIB ?= ranlib +AR ?= ar DLLEXT ?= .so # Variants -CFLAGS_all = -fPIC +CFLAGS_all = -std=c99 -fPIC -DHAVE_FIRM_REVISION_H CFLAGS_debug = $(CFLAGS_all) -O0 -g3 -DDEBUG_libfirm CFLAGS_profile = $(CFLAGS_all) -O3 -pg -DNDEBUG -fno-inline LINKFLAGS_profile = -pg @@ -34,7 +35,7 @@ CFLAGS_optimize = $(CFLAGS_all) -O3 -DNDEBUG # 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 '') @@ -151,10 +152,7 @@ $(IR_SPEC_GENERATED_FILES): $(IR_SPEC_GENERATOR) $(IR_SPEC) scripts/spec_util.py $(Q)$(IR_SPEC_GENERATOR) $(IR_SPEC) ir/ir IR_IO_GENERATOR := scripts/gen_ir_io.py -IR_IO_GENERATED_FILES := \ - ir/ir/gen_irio_import.inl \ - ir/ir/gen_irio_export.inl \ - ir/ir/gen_irio_lex.inl +IR_IO_GENERATED_FILES := ir/ir/gen_irio.inl $(IR_IO_GENERATED_FILES): $(IR_IO_GENERATOR) $(IR_SPEC) scripts/spec_util.py @echo GEN $@ @@ -168,13 +166,11 @@ libfirm_DEPS = $(libfirm_OBJECTS:%.o=%.d) $(libfirm_a): $(libfirm_OBJECTS) @echo AR $@ - $(Q)$(AR) ru $@ $^ - @echo RANLIB $@ - $(Q)$(RANLIB) $@ + $(Q)$(AR) -cru $@ $^ $(libfirm_dll): $(libfirm_OBJECTS) @echo LINK $@ - $(Q)$(LINK) -shared -o $@ $^ + $(Q)$(LINK) -shared $(LINKFLAGS) -o $@ $^ # Generic rules UNUSED := $(shell mkdir -p $(libfirm_DIRS:%=$(builddir)/%)) @@ -182,6 +178,19 @@ $(builddir)/%.o: %.c $(IR_SPEC_GENERATED_FILES) config.h @echo CC $@ $(Q)$(CC) $(CFLAGS) $(CPPFLAGS) $(libfirm_CPPFLAGS) -MMD -c -o $@ $< +$(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 +$(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) $(IR_SPEC) $(docdir)/libfirm.tag "" $@ + $(Q)cp scripts/style.css $(docdir)/html + +.PHONY: doc +doc: $(docdir)/libfirm.tag $(docdir)/html/nodes.html + .PHONY: clean clean: @echo CLEAN