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.
56 lines
1.4 KiB
Makefile
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
|
|
|