$(call file, $(LIBEM_DATA))
$(call file, -lfl)
-$(call cprogram, $D/mktab)
+$(call cprogram, $(OBJDIR)/$D/mktab)
endef
define build-opt-impl
$(call reset)
-$(eval cflags += -I$D)
+$(eval objdir := $1)
+
+$(eval cflags += -I$D $2)
$(call cfile, $D/main.c)
$(call cfile, $D/getline.c)
$(call cfile, $D/lookup.c)
$(call cfile, $D/tes.c)
$(call cfile, $D/reg.c)
-$(eval CLEANABLES += $(OBJDIR)/$D/pop_push.c)
-$(OBJDIR)/$D/pop_push.c: $D/pop_push.awk h/em_table
+$(eval g := $(OBJDIR)/$D/$(objdir)/pop_push.c)
+$(eval CLEANABLES += $g)
+$g: $D/pop_push.awk h/em_table
@echo POP_PUSH $$@
@mkdir -p $$(dir $$@)
$(hide) awk -f $D/pop_push.awk < h/em_table > $$@
-$(call cfile, $(OBJDIR)/$D/pop_push.c)
+$(call cfile, $g)
-$(eval CLEANABLES += $(OBJDIR)/$D/pattern.c)
-$(OBJDIR)/$D/pattern.c: $D/mktab $(OBJDIR)/$D/patterns
+$(eval g := $(OBJDIR)/$D/$(objdir)/pattern.c)
+$(eval CLEANABLES += $g)
+$g: $(OBJDIR)/$D/mktab $D/patterns $(BINDIR)/cpp.ansi
@echo PATTERNS $$@
@mkdir -p $$(dir $$@)
- $(hide) $D/mktab < $(OBJDIR)/$D/patterns > $$@
-$(call cfile, $(OBJDIR)/$D/pattern.c)
-
-$(eval CLEANABLES += $(OBJDIR)/$D/patterns)
-$(OBJDIR)/$D/patterns: $(CPPANSI) $D/patterns
- @echo PREPROCESS $$@
- @mkdir -p $$(dir $$@)
- $(hide) $(CPPANSI) < $D/patterns > $$@
+ $(hide) $(BINDIR)/cpp.ansi < $D/patterns | $(OBJDIR)/$D/mktab > $$@
+$(call cfile, $g)
$(call file, $(LIBEM_DATA))
$(call file, $(LIBASSERT))
$(eval $q: $(INCDIR)/em_spec.h)
-$(call cprogram, $(BINDIR)/em_opt)
-$(call installto, $(PLATDEP)/em_opt)
-$(eval EM_OPT := $o)
+$(call cprogram, $(BINDIR)/$(strip $1))
+$(call installto, $(PLATDEP)/$(strip $1))
$(eval ACK_CORE_TOOLS += $o)
+endef
+
+define build-opt-manpage-impl
+
$(call reset)
$(eval q := $D/em_opt.6)
$(call installto, $(INSDIR)/share/man/man6/em_opt.6)
endef
$(eval $(build-opt-mktab-impl))
-$(eval $(build-opt-impl))
+$(eval $(call build-opt-impl, em_opt,))
+$(eval $(call build-opt-impl, em_opt2, -DGLOBAL_OPT))
+$(eval $(build-opt-manpage-impl))
\ No newline at end of file