diff --git a/mk/suffix.mk b/mk/suffix.mk index 79d6c7d6a248dbed9f917e318b29139ba520c901..9e086ecf299c3c77082594771fa3cff0d018bf5a 100644 --- a/mk/suffix.mk +++ b/mk/suffix.mk @@ -142,6 +142,10 @@ endif @$(RM) $@ $(FLEX) -t $(FLEX_OPTS) $< > $@ || ( $(RM) $@ && exit 1 ) +# stubs are automatically generated and compiled by GHC +%_stub.$(way_)o: %.o + @: + #----------------------------------------------------------------------------- # Yacc stuff diff --git a/mk/target.mk b/mk/target.mk index d5fa97e648e5f0b9153d8248ae3645a1a865bb55..7afcf5170e0fc29736c04c9acc35afd17d687d21 100644 --- a/mk/target.mk +++ b/mk/target.mk @@ -437,7 +437,7 @@ all :: $(LIBRARY) define BUILD_LIB $(RM) $@ -$(AR) $(AR_OPTS) $@ $(LIBOBJS) +$(AR) $(AR_OPTS) $@ $(STUBOBJS) $(LIBOBJS) $(RANLIB) $@ endef @@ -455,7 +455,7 @@ SRC_HC_OPTS += -split-objs define BUILD_LIB $(RM) $@ -TMPDIR=$(TMPDIR); export TMPDIR; $(FIND) $(patsubst %.$(way_)o,%,$(LIBOBJS)) -name '*.$(way_)o' -print | xargs ar q $@ +TMPDIR=$(TMPDIR); export TMPDIR; ( echo $(STUBOBJS) ; $(FIND) $(patsubst %.$(way_)o,%,$(LIBOBJS)) -name '*.$(way_)o' -print ) | xargs ar q $@ $(RANLIB) $@ endef @@ -499,7 +499,7 @@ SRC_HC_POST_OPTS += \ endif endif -$(LIBRARY) :: $(LIBOBJS) +$(LIBRARY) :: $(STUBOBJS) $(LIBOBJS) $(BUILD_LIB) endif