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.
This commit is contained in:
@@ -2,10 +2,6 @@ MAINTAINERCLEANFILES = Makefile.in
|
||||
|
||||
noinst_PROGRAMS = build
|
||||
|
||||
ARCCMD = arc u
|
||||
UNARCCMD = arc x
|
||||
ARCDELCMD = arc d
|
||||
|
||||
HELPTAG = ..
|
||||
HELPTAGSRC = $(HELPTAG)/helptag
|
||||
HELPPARSERSRC = $(HELPTAG)/parser
|
||||
@@ -17,15 +13,7 @@ HELPUTILLIB = $(HELPTAG)/util/libutil.a
|
||||
|
||||
build_CFLAGS = -I$(HELPUTILSRC)
|
||||
|
||||
build_LDADD = -l$(HELPUTILLIB)
|
||||
|
||||
if HPUX
|
||||
build_LDFLAGS = -Wl,-a archive
|
||||
endif
|
||||
|
||||
if SOLARIS
|
||||
.NO_PARALLEL:
|
||||
endif
|
||||
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
|
||||
@@ -43,28 +31,25 @@ CPRODS = $(CHPRODS) $(CCPRODS)
|
||||
BPRODS = $(BHPRODS) $(BCPRODS)
|
||||
TRASH = error delim.dat template
|
||||
|
||||
PRODUCTS = $(CPRODS) $(BPRODS)
|
||||
BUILT_SOURCES = $(CPRODS) $(BPRODS)
|
||||
CLEANFILES = $(BUILT_SOURCES) $(TRASH) BDONE CDONE
|
||||
|
||||
all:: $(PRODUCTS)
|
||||
# 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
|
||||
|
||||
$(BPRODS): build $(HELPDTDFILE)
|
||||
$(RM) $(BPRODS) $(BTRASH)
|
||||
./build < $(HELPDTDFILE)
|
||||
$(CPRODS): CDONE
|
||||
|
||||
$(CPRODS): $(HELPUTILSRC)/context $(HELPTAGSRC)/delim.bld context.dat
|
||||
$(RM) $(CPRODS) $(CTRASH)
|
||||
$(CP) $(HELPTAGSRC)/delim.bld delim.dat #appl.-specific delim.dat
|
||||
$(HELPUTILSRC)/context sparse
|
||||
# build the BRPODS
|
||||
BDONE: ./build $(HELPDTDFILE)
|
||||
$(RM) $(BPRODS) $(BTRASH) && ./build < $(HELPDTDFILE) && touch BDONE
|
||||
|
||||
$(HELPUTILSRC)/context:
|
||||
cd $(HELPUTILSRC); make context
|
||||
|
||||
arc package :
|
||||
if exist util.arc $(CP) build.arc old.arc
|
||||
$(ARCCMD) util.arc *.c *.h makefile
|
||||
# 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
|
||||
|
||||
unarc dearc :
|
||||
$(UNARCCMD) util.arc
|
||||
|
||||
clean::
|
||||
$(RM) $(PRODUCTS) $(TRASH)
|
||||
|
||||
Reference in New Issue
Block a user