2015-12-10 18:08:26 -06:00
|
|
|
# 16 october 2015
|
|
|
|
|
2015-12-10 18:22:16 -06:00
|
|
|
# TODO http://stackoverflow.com/questions/4122831/disable-make-builtin-rules-and-variables-from-inside-the-make-file
|
|
|
|
# TODO and figure out what variables are predefined
|
|
|
|
|
2015-12-10 18:08:26 -06:00
|
|
|
# silence entering/leaving messages
|
|
|
|
MAKEFLAGS += --no-print-directory
|
|
|
|
|
|
|
|
OUTDIR = out
|
|
|
|
OBJDIR = .obj
|
|
|
|
|
|
|
|
# MAME does this so :/
|
|
|
|
ifeq ($(OS),Windows_NT)
|
|
|
|
OS = windows
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifndef OS
|
|
|
|
UNAME = $(shell uname -s)
|
|
|
|
ifeq ($(UNAME),Darwin)
|
|
|
|
OS = darwin
|
|
|
|
else ifeq ($(UNAME),Haiku)
|
|
|
|
OS = haiku
|
|
|
|
else
|
|
|
|
OS = unix
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
# default is to build with debug symbols
|
|
|
|
ifndef NODEBUG
|
|
|
|
NODEBUG = 0
|
|
|
|
endif
|
|
|
|
|
|
|
|
# TODO $(CC), $(CXX)? if so, $(LD)?
|
|
|
|
# TODO quotes for the FLAGS options?
|
2015-12-10 18:22:16 -06:00
|
|
|
# TODO use export instead - http://stackoverflow.com/questions/2826029/passing-additional-variables-from-command-line-to-make
|
2015-12-10 18:08:26 -06:00
|
|
|
ARGS = \
|
|
|
|
OS=$(OS) \
|
|
|
|
OUTDIR=$(OUTDIR) \
|
|
|
|
OBJDIR=$(OBJDIR) \
|
|
|
|
CFLAGS=$(CFLAGS) \
|
|
|
|
CXXFLAGS=$(CXXFLAGS) \
|
|
|
|
LDFLAGS=$(LDFLAGS) \
|
|
|
|
NODEBUG=$(NODEBUG) \
|
|
|
|
inlibuibuild=1
|
|
|
|
|
|
|
|
real:
|
|
|
|
@echo $(MAKE)
|
|
|
|
@echo $(ARGS)
|
|
|
|
|
|
|
|
libui:
|
|
|
|
@$(MAKE) -f build/GNUmakefile.libui $(ARGS)
|
|
|
|
|
|
|
|
clean:
|
|
|
|
rm -rf $(OBJDIR) $(OUTDIR)
|
|
|
|
|
|
|
|
test: libui
|
|
|
|
@$(MAKE) -f build/GNUmakefile.test $(ARGS)
|
|
|
|
|
|
|
|
# TODO provide a build option for the queuemaintest
|
|
|
|
|
|
|
|
example: libui
|
|
|
|
@$(MAKE) -f build/GNUmakefile.example $(ARGS) EXAMPLE=$(EXAMPLE)
|
|
|
|
|
|
|
|
# TODO examples rule?
|