Files
cdesktop/cde/programs/dthelp/parser/pass1/build/Makefile.am
Jon Trulson 6da55905ec dthelp/parser/pass1: get it to build
So this is going to be tricky/painful getting this parser fully
operational.  It's pretty hairy with various interdependencies and
generated code.

It's rather complicated how each sub dir depends on the previous one.
Also, the parser subdir has dependencies on the helptag subdir, and
vice-versa, so some hackery was needed to get that to work.

Due to the wierd interdepencencies between helptag and parser,
we disable parallel builds there.

This is some really horrible code and design - not surprising since it
dates to 1989.

I think it should just be removed -- who can maintain or refactor this
code?

Also, dthelp_htag1 is now built in pass1/parser/, not in
pass1/helptag/ as it used to be.
2020-04-21 15:40:05 -06:00

56 lines
1.4 KiB
Makefile

MAINTAINERCLEANFILES = Makefile.in
noinst_PROGRAMS = build
HELPTAG = ..
HELPTAGSRC = $(HELPTAG)/helptag
HELPPARSERSRC = $(HELPTAG)/parser
HELPELTDEFSRC = $(HELPTAG)/eltdef
HELPDTDFILE = $(HELPTAGSRC)/hptag.dtd
HELPUTILSRC = $(HELPTAG)/util
HELPBUILDSRC = $(HELPTAG)/build
HELPUTILLIB = $(HELPTAG)/util/libutil.a
build_CFLAGS = -I$(HELPUTILSRC)
build_LDADD = ../util/libutil.a
build_SOURCES = build.c buildutl.c eltree.c except.c fsa.c out.c param.c \
scan.c sref.c tree.c
CHPRODS = context.h delim.h
CCPRODS = case.c
BHPRODS = arc.h dtd.h entity.h
BCPRODS =
CTRASH = error delim.dat
BTRASH = error template
CPRODS = $(CHPRODS) $(CCPRODS)
BPRODS = $(BHPRODS) $(BCPRODS)
TRASH = error delim.dat template
BUILT_SOURCES = $(CPRODS) $(BPRODS)
CLEANFILES = $(BUILT_SOURCES) $(TRASH) BDONE CDONE
# We want the commands that actually create BPRODS and CPRODS to only
# run once during a make so we gate them using these CDONE and BDONE
# targets. This allows us to enable parallel building too.
$(BPRODS): BDONE
$(CPRODS): CDONE
# build the BRPODS
BDONE: ./build $(HELPDTDFILE)
$(RM) $(BPRODS) $(BTRASH) && ./build < $(HELPDTDFILE) && touch BDONE
# build the CRPODS
CDONE: $(HELPUTILSRC)/context $(HELPTAGSRC)/delim.bld context.dat
$(RM) $(CPRODS) $(CTRASH)
$(CP) $(HELPTAGSRC)/delim.bld delim.dat # appl.-specific delim.dat
$(HELPUTILSRC)/context sparse
touch CDONE