Fix build error in opt which was causing all code, everywhere, to be broken.
authorDavid Given <dg@cowlark.com>
Wed, 15 May 2013 21:09:28 +0000 (22:09 +0100)
committerDavid Given <dg@cowlark.com>
Wed, 15 May 2013 21:09:28 +0000 (22:09 +0100)
Remember to build opt2 too.

--HG--
branch : dtrg-buildsystem

util/opt/build.mk

index 9928d40..39eafe3 100644 (file)
@@ -12,14 +12,16 @@ $(call dependson, $(OBJDIR)/$D/y.tab.h)
 
 $(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)
@@ -35,25 +37,21 @@ $(call cfile, $D/flow.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))
@@ -64,11 +62,14 @@ $(call file, $(LIBSTRING))
 
 $(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)
@@ -76,4 +77,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