blob: 7876d1053ba3a5bdbaafb7e7c13a013c462858fa (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
The second (and more serious) problem arises during the build of
xwave's own libfwf.a. Randomly, at least one of the OBJS is not
'ar'ed into libfwf. Is this a problem of the parallelized make?
You can not repeat exactly the error; the next time, another of
FWF's OBJS might be missing in libfwf.a.
Maybe there is a problem related to the change in FWF/FWF.rules
in VERSION 3.65 (see FWF/README.NOTES: "Hacked FWF.rules to
make AddToLibrary try to build library only if objects are
newer than library.").
Since I am not at all a compiler and linker specialist, I propose,
to do a final 'ar' of all OBJS after all of them are build. This
can be done by adding an auxiliary target in FWF/Imakefile.
--- FWF/Imakefile.orig Mon Nov 9 00:22:54 1998
+++ FWF/Imakefile Mon Jan 1 15:47:50 2001
@@ -9,14 +9,25 @@
MakeDirectories(all,$(ALLDIRS))
InitSubdirs($(SUBDIRS))
+DependSubdirs($(SUBDIRS))
MakeObjectsSubdirs($(SUBDIRS))
MakeExecsSubdirs($(SUBDIRS))
GatherDescriptionSubdirs($(SUBDIRS))
+MAINOBJS = src/Board/Board.o src/Button/Button.o src/Common/Common.o src/Frame/Frame.o src/Group/Group.o src/Label/Label.o src/RadioGroup/RadioGrp.o src/RowCol/RowCol.o src/Toggle/Toggle.o
+MISCOBJS = src/misc/VarArgs.o
+CONVOBJS = src/converters/long.o src/converters/icon.o src/converters/choosecol.o src/converters/StrToPmap.o src/converters/Pen.o src/converters/strarray.o
+STRGOBJS = src/tabstring/DrawImageString.o src/tabstring/DrawString.o src/tabstring/Tablist2Tabs.o src/tabstring/TextWidth.o src/tabstring/strnchr.o
+
+$(FWF_LIBDIR)/auxtarget: $(MAINOBJS) $(MISCOBJS) $(CONVOBJS) $(STRGOBJS)
+ ar -r $(FWF_LIBDIR)/$(FWF_LIBNAME) $(MAINOBJS) $(MISCOBJS) $(CONVOBJS) $(STRGOBJS)
+ ranlib $(FWF_LIBDIR)/$(FWF_LIBNAME)
+ echo "lib complete." > $(FWF_LIBDIR)/auxtarget
+
#ifdef BuildExecs
-AllTarget(init objects execs $(FWF_MANDIR)/fwf.man)
+AllTarget(init objects execs $(FWF_LIBDIR)/auxtarget $(FWF_MANDIR)/fwf.man)
#else
-AllTarget(init objects $(FWF_MANDIR)/fwf.man)
+AllTarget(init objects $(FWF_LIBDIR)/auxtarget $(FWF_MANDIR)/fwf.man)
#endif
ConstructIndex(init)
|