| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- ######################################################################################
- ## SETTINGS ##
- ######################################################################################
- ## path stuff
- DOCS_PATH:=./doc
- DEMO_PATH=demo
- SRC_PATH=src
- ## Documents settings
- DOXYFILE:=$(DOCS_PATH)/Doxyfile
- ## HEADER file packing settings
- ## note: source file paths are prefixed later, no need to add prefix here; just
- ## give it the name.
- MACRO = NK
- INTRO = HEADER.md
- PUB = nuklear.h
- OUTPUT = nuklear.h
- PRIV1 = nuklear_internal.h nuklear_math.c nuklear_util.c nuklear_color.c nuklear_utf8.c nuklear_buffer.c nuklear_string.c nuklear_draw.c nuklear_vertex.c
- EXTERN = stb_rect_pack.h stb_truetype.h
- PRIV2 = nuklear_font.c nuklear_input.c nuklear_style.c nuklear_context.c nuklear_pool.c nuklear_page_element.c nuklear_table.c nuklear_panel.c nuklear_window.c nuklear_popup.c nuklear_contextual.c nuklear_menu.c nuklear_layout.c nuklear_tree.c nuklear_group.c nuklear_list_view.c nuklear_widget.c nuklear_text.c nuklear_image.c nuklear_9slice.c nuklear_button.c nuklear_toggle.c nuklear_selectable.c nuklear_slider.c nuklear_knob.c nuklear_progress.c nuklear_scrollbar.c nuklear_text_editor.c nuklear_edit.c nuklear_property.c nuklear_chart.c nuklear_color_picker.c nuklear_combo.c nuklear_tooltip.c
- OUTRO = LICENSE CHANGELOG CREDITS
- ## Demo settings
- DEMO_LIST = $(shell find $(DEMO_PATH) -type f -name Makefile -printf "%h ")
- ######################################################################################
- ## RECIPES ##
- ######################################################################################
- .PHONY: usage all demos $(DEMO_LIST)
- usage:
- echo "make docs to create documentation"
- echo "make nuke to rebuild the single header nuklear.h from source"
- echo "make demos to build all of the demos
- echo "make all to re-pack the header and create documentation"
- all: docs nuke demos
- demos: $(DEMO_LIST)
- ########################################################################################
- ## Nuklear.h
- nuke: $(addprefix $(SRC_PATH)/, $(SRC))
- python3 $(SRC_PATH)/build.py --macro $(MACRO) --intro $(addprefix $(SRC_PATH)/, $(INTRO)) --pub $(addprefix $(SRC_PATH)/, $(PUB)) --priv1 "$(addprefix $(SRC_PATH)/, $(PRIV1))" --extern "$(addprefix $(SRC_PATH)/, $(EXTERN))" --priv2 "$(addprefix $(SRC_PATH)/, $(PRIV2))" --outro "$(addprefix $(SRC_PATH)/, $(OUTRO))" > $(OUTPUT)
- ########################################################################################
- ## Docs
- docs: $(DOCS_PATH)/html/index.html
- $(DOCS_PATH)/html/index.html: $(DOCS_PATH)/doxygen-awesome-css/doxygen-awesome.css $(DOXYFILE)
- doxygen $(DOXYFILE)
- $(DOXYFILE):
- doxygen -g $@
- $(DOCS_PATH)/doxygen-awesome-css/doxygen-awesome.css:
- git clone https://github.com/jothepro/doxygen-awesome-css.git $(DOCS_PATH)/doxygen-awesome-css --branch v2.3.4
- ########################################################################################
- ## Demos
- $(DEMO_LIST):
- $(MAKE) -C $@
- ########################################################################################
- ## Utility helpers
- clean:
- rm -rf $(DOCS_PATH)/html $(OUTPUT)
|