FIND = find
+ifeq ("$(V)","1")
+Q :=
+else
+Q := @
+endif
+
# Gah
OSTYPE := $(shell uname -a)
QMAKE_EXTRA := -spec macx-g++
endif
-# (This will only assign if the var doesn't exist already. Without these flags,
-# Virtual Jaguar will run very slow.)
-CFLAGS ?= -O2 -ffast-math -fomit-frame-pointer
-CPPFLAGS ?= -O2 -ffast-math -fomit-frame-pointer
-CXXFLAGS ?= -O2 -ffast-math -fomit-frame-pointer
-LDFLAGS ?=
+# Set basic flags, these can be overridden from the environment
+CFLAGS = -O2
+CXXFLAGS = -O2
+
+# Add CPPFLAGS
+CFLAGS += $(CPPFLAGS)
+CXXFLAGS += $(CPPFLAGS)
+
+# Without these flags, Virtual Jaguar will run very slow.
+CFLAGS += -ffast-math -fomit-frame-pointer
+CXXFLAGS += -ffast-math -fomit-frame-pointer
# Flags to pass on to qmake...
QMAKE_EXTRA += "QMAKE_CFLAGS_RELEASE=$(CFLAGS)"
virtualjaguar: sources libs makefile-qt
@echo -e "\033[01;33m***\033[00;32m Making Virtual Jaguar GUI...\033[00m"
- @$(MAKE) -f makefile-qt CROSS=$(CROSS)
+ $(Q)$(MAKE) -f makefile-qt CROSS=$(CROSS) V="$(V)"
makefile-qt: virtualjaguar.pro
@echo -e "\033[01;33m***\033[00;32m Creating Qt makefile...\033[00m"
- @$(CROSS)qmake $(QMAKE_EXTRA) virtualjaguar.pro -o makefile-qt
+ $(Q)$(CROSS)qmake $(QMAKE_EXTRA) virtualjaguar.pro -o makefile-qt
libs: obj/libm68k.a obj/libjaguarcore.a
@echo -e "\033[01;33m***\033[00;32m Libraries successfully made.\033[00m"
obj/libm68k.a: src/m68000/Makefile sources
@echo -e "\033[01;33m***\033[00;32m Making Customized UAE 68K Core...\033[00m"
- @$(MAKE) -C src/m68000 CROSS=$(CROSS) CFLAGS="$(CFLAGS)"
- @cp src/m68000/obj/libm68k.a obj/
+ $(Q)$(MAKE) -C src/m68000 CROSS=$(CROSS) CFLAGS="$(CFLAGS)" V="$(V)"
+ $(Q)cp src/m68000/obj/libm68k.a obj/
obj/libjaguarcore.a: jaguarcore.mak sources
@echo -e "\033[01;33m***\033[00;32m Making Virtual Jaguar core...\033[00m"
- @$(MAKE) -f jaguarcore.mak CROSS=$(CROSS) CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)"
+ $(Q)$(MAKE) -f jaguarcore.mak CROSS=$(CROSS) CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" V="$(V)"
sources: src/*.h src/*.cpp src/m68000/*.c src/m68000/*.h
# file GPLv3 for details. ;-)
#
+ifeq ("$(V)","1")
+Q :=
+else
+Q := @
+endif
+
# Cross compilation with MXE
#CROSS = i686-pc-mingw32-
# Library rules (might not be cross-platform compatible)
obj/libjaguarcore.a: $(OBJS)
- @$(AR) $(ARFLAGS) obj/libjaguarcore.a $(OBJS)
+ $(Q)$(AR) $(ARFLAGS) obj/libjaguarcore.a $(OBJS)
# Main source compilation (implicit rules)...
obj/%.o: src/%.cpp
@echo -e "\033[01;33m***\033[00;32m Compiling $<...\033[00m"
- @$(CC) $(GCC_DEPS) $(CXXFLAGS) $(SDL_CFLAGS) $(DEFINES) $(INCS) -c $< -o $@
+ $(Q)$(CC) $(GCC_DEPS) $(CXXFLAGS) $(SDL_CFLAGS) $(DEFINES) $(INCS) -c $< -o $@
-include obj/*.d
# This makefile is released under the GPLv3 or later
#
+ifeq ("$(V)","1")
+Q :=
+else
+Q := @
+endif
+
# Cross compilation using MXE
#CROSS = i686-pc-mingw32-
# Library rules (might not be cross-platform compatible)
obj/libm68k.a: $(OBJS)
- @$(AR) $(ARFLAGS) obj/libm68k.a $(OBJS)
+ $(Q)$(AR) $(ARFLAGS) obj/libm68k.a $(OBJS)
obj:
@mkdir ./obj
obj/%.o: %.c
@echo -e "\033[01;33m***\033[00;32m Compiling $<...\033[00m"
- @$(CC) $(GCC_DEPS) $(CFLAGS) $(INCS) -c $< -o $@
+ $(Q)$(CC) $(GCC_DEPS) $(CFLAGS) $(INCS) -c $< -o $@
obj/%.o: obj/%.c
@echo -e "\033[01;33m***\033[00;32m Compiling $<...\033[00m"
- @$(CC) $(GCC_DEPS) $(CFLAGS) $(INCS) -c $< -o $@
+ $(Q)$(CC) $(GCC_DEPS) $(CFLAGS) $(INCS) -c $< -o $@
# Generated code
obj/gencpu: obj/cpudefs.c
@echo -e "\033[01;33m***\033[00;32m Generating gencpu...\033[00m"
- @$(HOSTCC) $(GCC_DEPS) $(CFLAGS) gencpu.c readcpu.c obj/cpudefs.c -o obj/gencpu -I. -I./obj
+ $(Q)$(HOSTCC) $(GCC_DEPS) $(CFLAGS) gencpu.c readcpu.c obj/cpudefs.c -o obj/gencpu -I. -I./obj
obj/cpudefs.c: obj/build68k
@echo -e "\033[01;33m***\033[00;32m Generating cpudefs.c...\033[00m"
- @obj/build68k < table68k > obj/cpudefs.c
+ $(Q)obj/build68k < table68k > obj/cpudefs.c
obj/build68k: build68k.c
- @echo -e "\033[01;33m***\033[00;32m Compiling build68k.c...\033[00m"
- @$(HOSTCC) $(GCC_DEPS) $(CFLAGS) build68k.c -o obj/build68k
+ @echo -e "\033[01;33m***\033[00;32m Compiling $< ...\033[00m"
+ $(Q)$(HOSTCC) $(GCC_DEPS) $(CFLAGS) build68k.c -o obj/build68k
clean:
@echo -ne "\033[01;33m***\033[00;32m Cleaning out the garbage...\033[00m"