summaryrefslogtreecommitdiff
path: root/src/parse/properties/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'src/parse/properties/Makefile')
-rw-r--r--src/parse/properties/Makefile176
1 files changed, 62 insertions, 114 deletions
diff --git a/src/parse/properties/Makefile b/src/parse/properties/Makefile
index 9a76d48..43a2cf1 100644
--- a/src/parse/properties/Makefile
+++ b/src/parse/properties/Makefile
@@ -1,117 +1,65 @@
# Sources
-DIR_SOURCES := utils.c properties.c \
- azimuth.c \
- background_attachment.c \
- background.c \
- background_color.c \
- background_image.c \
- background_position.c \
- background_repeat.c \
- border_bottom.c \
- border_bottom_color.c \
- border_bottom_style.c \
- border_bottom_width.c \
- border.c \
- border_collapse.c \
- border_color.c \
- border_left.c \
- border_left_color.c \
- border_left_style.c \
- border_left_width.c \
- border_right.c \
- border_right_color.c \
- border_right_style.c \
- border_right_width.c \
- border_spacing.c \
- border_style.c \
- border_top.c \
- border_top_color.c \
- border_top_style.c \
- border_top_width.c \
- border_width.c \
- bottom.c \
- caption_side.c \
- clear.c \
- clip.c \
- color.c \
- content.c \
- conter_reset.c \
- counter_increment.c \
- cue.c \
- cursor.c \
- direction.c \
- display.c \
- elevation.c \
- empty_cells.c \
- float.c \
- font.c \
- font_family.c \
- font_size.c \
- font_style.c \
- font_variant.c \
- font_weight.c \
- height.c \
- left.c \
- letter_spacing.c \
- line_height.c \
- list_style.c \
- list_style_image.c \
- list_style_position.c \
- list_style_type.c \
- margin_bottom.c \
- margin.c \
- margin_left.c \
- margin_right.c \
- margin_top.c \
- max_height.c \
- max_width.c \
- min_height.c \
- min_width.c \
- orphans.c \
- outline.c \
- outline_color.c \
- outline_style.c \
- outline_width.c \
- overflow.c \
- padding_bottom.c \
- padding.c \
- padding_left.c \
- padding_right.c \
- padding_top.c \
- page_break_after.c \
- page_break_before.c \
- page_break_inside.c \
- pause_after.c \
- pause_before.c \
- pause.c \
- pitch.c \
- pitch_range.c \
- play_during.c \
- position.c \
- quotes.c \
- richness.c \
- right.c \
- speak.c \
- speak_header.c \
- speak_numeral.c \
- speak_punctuation.c \
- speech_rate.c \
- stress.c \
- table_layout.c \
- text_align.c \
- text_decoration.c \
- text_indent.c \
- text_transform.c \
- top.c \
- unicode_bidi.c \
- vertical_align.c \
- visibility.c \
- voice_family.c \
- volume.c \
- white_space.c \
- widows.c \
- width.c \
- word_spacing.c \
- z_index.c
+# background.c
+# border.c
+# border_color.c
+# border_style.c
+# border_width.c
+# content.c
+# cue.c
+# cursor.c
+# font.c
+# font_family.c
+# list_style.c
+# margin.c
+# outline.c
+# padding.c
+# pause.c
+# play_during.c
+# quotes.c
+# text_decoration.c
+# voice_family.c
+
+AUTOGEN_PARSERS=$(shell perl -pe'$$_="" unless /^([^\#][^:]+):/;$$_=$$1 . " "' $(DIR)properties.gen)
+
+# Dodgy use of define/eval to bypass DIR changing
+define build_gen_parser
+
+$(BUILDDIR)/gen_parser: $(DIR)css_property_parser_gen.c
+ $$(VQ)$$(ECHO) $$(ECHOFLAGS) " PREPARE: $$@"
+ $$(Q)$$(HOST_CC) -o $$@ $$^
+
+endef
+
+$(eval $(build_gen_parser))
+
+define gen_prop_parser
+
+$(DIR)autogenerated_$1.c: $(DIR)properties.gen $(BUILDDIR)/gen_parser
+ $$(VQ)$$(ECHO) $$(ECHOFLAGS) "GENERATE: $$@"
+ $$(Q)$$(BUILDDIR)/gen_parser -o $$@ '$(shell grep "^$1:" $(DIR)properties.gen)'
+
+AUTOGEN_SOURCES := $$(AUTOGEN_SOURCES) autogenerated_$1.c
+
+endef
+
+AUTOGEN_SOURCES :=
+
+$(eval $(foreach PROP,$(AUTOGEN_PARSERS),$(call gen_prop_parser,$(PROP))))
+
+
+
+DIR_SOURCES := azimuth.c text_decoration.c background.c utils.c \
+ background_position.c border_spacing.c font.c outline.c \
+ voice_family.c border_style.c cue.c \
+ font_family.c list_style.c padding.c cursor.c \
+ list_style_type.c pause.c border.c border_width.c margin.c \
+ play_during.c clip.c properties.c border_color.c content.c \
+ elevation.c font_weight.c quotes.c utils.c
+
+DIR_SOURCES := $(DIR_SOURCES) $(AUTOGEN_SOURCES)
+
+PRE_TARGETS := $(foreach AP,$(AUTOGEN_PARSERS),src/parse/properties/autogenerated_$(AP).c)
+
+DISTCLEAN_ITEMS := $(foreach AP,$(AUTOGEN_PARSERS),src/parse/properties/autogenerated_$(AP).c)
include build/makefiles/Makefile.subdir