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:
Родитель
f08e61ac8d
Коммит
39dc776760
|
@ -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))
|
||||
|
|
Загрузка…
Ссылка в новой задаче