Fix earlier fixes to avoid spurious idl->.h file regeneration.

The way I did it previously breaks with parallel (-j) builds; this seems to fix it.
This commit is contained in:
mccabe%netscape.com 1999-06-20 08:59:31 +00:00
Родитель f08e61ac8d
Коммит 39dc776760
1 изменённых файлов: 10 добавлений и 4 удалений

Просмотреть файл

@ -288,6 +288,10 @@ everything:: clobber_all alldep
#
MAKE_DIRS =
ifdef XPIDLSRCS
MAKE_DIRS += $(XPIDL_GEN_DIR)
endif
ifdef MDDEPDIR
$(MDDEPDIR):
@if test ! -d $@; then echo Creating $@; rm -rf $@; mkdir $@; else true; fi
@ -919,11 +923,12 @@ endif
# Export the elements of $(XPIDLSRCS), generating .h and .xpt files and
# moving them to the appropriate places.
ifneq ($(XPIDLSRCS),)
ifndef XPIDL_MODULE
XPIDL_MODULE = $(MODULE)
endif
ifneq ($(XPIDLSRCS),)
ifeq ($(XPIDL_MODULE),) # we need $(XPIDL_MODULE) to make $(XPIDL_MODULE).xpt
export:: FORCE
@echo
@ -941,12 +946,14 @@ export:: $(XPIDLSRCS) $(XPDIST)/idl
$(INSTALL) -m 444 $^
# generate .h files from into $(XPIDL_GEN_DIR), then export to $(XPDIST)/include;
# warn against overriding existing .h file.
# warn against overriding existing .h file. (Added to MAKE_DIRS above.)
$(XPIDL_GEN_DIR):
@if test ! -d $@; then echo Creating $@; rm -rf $@; mkdir $@; else true; fi
# don't depend on $(XPIDL_GEN_DIR), because the modification date changes
# with any addition to the directory, regenerating all .h files -> everything.
$(XPIDL_GEN_DIR)/%.h: %.idl $(XPIDL_COMPILE)
@if test ! -d $(XPIDL_GEN_DIR); then echo Creating $(XPIDL_GEN_DIR); rm -rf $(XPIDL_GEN_DIR); mkdir $(XPIDL_GEN_DIR); else true; fi
$(XPIDL_COMPILE) -m header -w -I $(XPDIST)/idl -I$(srcdir) -o $(XPIDL_GEN_DIR)/$* $<
@if test -n "$(findstring $*.h, $(EXPORTS))"; \
then echo "*** WARNING: file $*.h generated from $*.idl overrides $(srcdir)/$*.h"; else true; fi
@ -958,7 +965,6 @@ ifndef NO_GEN_XPT
# generate intermediate .xpt files into $(XPIDL_GEN_DIR), then link
# into $(XPIDL_MODULE).xpt and export it to $(DIST)/bin/components.
$(XPIDL_GEN_DIR)/%.xpt: %.idl $(XPIDL_COMPILE)
@if test ! -d $(XPIDL_GEN_DIR); then echo Creating $(XPIDL_GEN_DIR); rm -rf $(XPIDL_GEN_DIR); mkdir $(XPIDL_GEN_DIR); else true; fi
$(XPIDL_COMPILE) -m typelib -w -I $(XPDIST)/idl -I$(srcdir) -o $(XPIDL_GEN_DIR)/$* $<
$(XPIDL_GEN_DIR)/$(XPIDL_MODULE).xpt: $(patsubst %.idl,$(XPIDL_GEN_DIR)/%.xpt,$(XPIDLSRCS))