After all it seems much cleaner to explicitly control the behaviour from the .travis.yml file than to behave differently "under the hood" when detecting a Travis CI build.
 install:
   - sudo apt-get install linuxdoc-tools linuxdoc-tools-info binutils-mingw-w64-i686 gcc-mingw-w64-i686
 script:
-  - make
-  - make -C src clean bin CROSS_COMPILE=i686-w64-mingw32-
+  - make bin USER_CFLAGS=-Werror
+  - make lib QUIET=1
+  - make -C src clean
+  - make bin USER_CFLAGS=-Werror CROSS_COMPILE=i686-w64-mingw32-
   - make doc zip
 after_success:
   - make -f Makefile.gh-pages
 
 
 define ASSEMBLE_recipe
 
-$(if $(TRAVIS),,@echo $(TARGET) - $<)
+$(if $(QUIET),,@echo $(TARGET) - $<)
 @$(CA65) -t $(TARGET) $(CA65FLAGS) --create-dep $(@:.o=.d) -o $@ $<
 
 endef # ASSEMBLE_recipe
 
 define COMPILE_recipe
 
-$(if $(TRAVIS),,@echo $(TARGET) - $<)
+$(if $(QUIET),,@echo $(TARGET) - $<)
 @$(CC65) -t $(TARGET) $(CC65FLAGS) --create-dep $(@:.o=.d) --dep-target $@ -o $(@:.o=.s) $<
 @$(CA65) -t $(TARGET) -o $@ $(@:.o=.s)
 
 
 CC = $(CROSS_COMPILE)gcc
 AR = $(CROSS_COMPILE)ar
 
+ifdef CROSS_COMPILE
+  $(info CC: $(CC))
+  $(info AR: $(AR))
+endif
+
+ifdef USER_CFLAGS
+  $(info USER_CFLAGS: $(USER_CFLAGS))
+endif
+
 CFLAGS += -MMD -MP -O -I common \
           -Wall -Wextra -Wno-char-subscripts $(USER_CFLAGS) \
           -DCA65_INC=$(CA65_INC) -DCC65_INC=$(CC65_INC) \
           -DLD65_LIB=$(LD65_LIB) -DLD65_OBJ=$(LD65_OBJ) -DLD65_CFG=$(LD65_CFG)
 
-CFLAGS += $(if $(TRAVIS),-Werror)
-
 LDLIBS += -lm
 
 ifdef CMD_EXE