Renamed mkrounding.c to rounding.c.
[rsync/rsync.git] / Makefile.in
index bc18f4a..8594a9d 100644 (file)
@@ -80,13 +80,21 @@ $(CHECK_OBJS): $(HEADERS)
 
 flist.o: rounding.h
 
-rounding.h: mkrounding$(EXEEXT)
-       ./mkrounding$(EXEEXT) >rounding.h
-
-mkrounding$(EXEEXT): mkrounding.c rsync.h
-       @sed '1,/^struct file_struct/d; /^}/,$$d' <$(srcdir)/rsync.h >mkrounding.h
-       $(CC) $(CFLAGS) $(LDFLAGS) -o $@ -I. $(srcdir)/mkrounding.c
-       @rm mkrounding.h
+rounding.h: rounding.c rsync.h
+       @for r in 0 1 3; do \
+           if $(CC) $(CFLAGS) $(LDFLAGS) -o rounding -DEXTRA_ROUNDING=$$r -I. $(srcdir)/rounding.c >/dev/null 2>&1; then \
+               echo "#define EXTRA_ROUNDING $$r" >rounding.h; \
+               if test -f "$$HOME/build_farm/build_test.fns"; then \
+                   echo "EXTRA_ROUNDING is $$r" >&2; \
+               fi; \
+               break; \
+           fi; \
+       done
+       @rm -f rounding
+       @if test -f rounding.h; then : ; else \
+           echo "Failed to create rounding.h!"; \
+           exit 1; \
+       fi
 
 tls$(EXEEXT): $(TLS_OBJ)
        $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(TLS_OBJ) $(LIBS)
@@ -146,7 +154,7 @@ rsyncd.conf.5: rsyncd.conf.yo
 
 clean: cleantests
        rm -f *~ $(OBJS) $(CHECK_PROGS) $(CHECK_OBJS) $(CHECK_SYMLINKS) \
-               mkrounding mkrounding.h rounding.h
+               rounding rounding.h
 
 cleantests:
        rm -rf ./testtmp*