qpc/ports/win32/mingw/Makefile

344 lines
9.6 KiB
Makefile
Raw Normal View History

2012-08-14 18:07:04 -04:00
##############################################################################
2014-04-06 11:43:13 -04:00
# Product: QP/C, Win32 build, GNU compiler (MinGW)
# Last Updated for Version: 5.3.0
# Date of the Last Update: 2014-03-30
2012-08-14 18:07:04 -04:00
#
# Q u a n t u m L e a P s
# ---------------------------
# innovating embedded systems
#
2014-04-06 11:43:13 -04:00
# Copyright (C) Quantum Leaps, LLC. All rights reserved.
2012-08-14 18:07:04 -04:00
#
2012-12-10 16:00:27 -05:00
# This program is open source software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as published
# by the Free Software Foundation, either version 3 of the License, or
2012-12-10 16:00:27 -05:00
# (at your option) any later version.
2012-08-14 18:07:04 -04:00
#
2012-12-10 16:00:27 -05:00
# Alternatively, this program may be distributed and modified under the
2012-08-14 18:07:04 -04:00
# terms of Quantum Leaps commercial licenses, which expressly supersede
2012-12-10 16:00:27 -05:00
# the GNU General Public License and are specifically designed for
# licensees interested in retaining the proprietary status of their code.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
2012-08-14 18:07:04 -04:00
#
# Contact information:
2014-04-06 11:43:13 -04:00
# Web: www.state-machine.com
# Email: info@state-machine.com
2012-08-14 18:07:04 -04:00
##############################################################################
# examples of invoking this Makefile:
# building configurations: Debug (default), Release, and Spy
# mingw32-make
# mingw32-make CONF=rel
# mingw32-make CONF=spy
#
# cleaning configurations: Debug (default), Release, and Spy
# mingw32-make clean
# mingw32-make CONF=rel clean
# mingw32-make CONF=spy clean
#-----------------------------------------------------------------------------
# general utilities
#
#-----------------------------------------------------------------------------
# NOTE: this Makefile assumes that the MinGW\bin directory is added
# to the PATH variable.
#
CC = gcc
LIB = ar
2013-12-30 17:37:40 -05:00
RM = rm
2012-08-14 18:07:04 -04:00
2013-12-30 17:37:40 -05:00
QPC = ../../..
QP_PRTDIR = ..
QP_INCDIR = $(QPC)/include
QEP_SRCDIR = $(QPC)/qep\source
QF_SRCDIR = $(QPC)/qf\source
QS_SRCDIR = $(QPC)/qs\source
2012-08-14 18:07:04 -04:00
CCINC = -I$(QP_PRTDIR) -I$(QP_INCDIR)
2013-12-30 17:37:40 -05:00
LIBFLAGS = rs
2012-08-14 18:07:04 -04:00
#-----------------------------------------------------------------------------
# build options for various configurations
#
ifeq (rel, $(CONF)) # Release configuration ............................
BINDIR = rel
# gcc options
# -c : compile only
# -O : optimize
2014-04-06 11:43:13 -04:00
CCFLAGS = -c -O2 -Wall -W -o$@
2012-08-14 18:07:04 -04:00
else ifeq (spy, $(CONF)) # Spy configuration ................................
BINDIR = spy
# gcc options
# -c : compile only
# -g : source level debugging
# -D : define preprocessor macro
2014-04-06 11:43:13 -04:00
CCFLAGS = -c -g -O -Wall -W -DQ_SPY -o$@
2012-08-14 18:07:04 -04:00
QS_OBJS = \
2013-12-30 17:37:40 -05:00
$(BINDIR)/qs.o \
$(BINDIR)/qs_.o \
$(BINDIR)/qs_blk.o \
$(BINDIR)/qs_byte.o \
$(BINDIR)/qs_dict.o \
$(BINDIR)/qs_f32.o \
$(BINDIR)/qs_f64.o \
$(BINDIR)/qs_mem.o \
$(BINDIR)/qs_str.o \
$(BINDIR)/qs_u64.o
2012-08-14 18:07:04 -04:00
else # default Debug configuration .......................
BINDIR = dbg
2013-12-30 17:37:40 -05:00
QP_DEP = $(QP_INCDIR)/qassert.h
2012-08-14 18:07:04 -04:00
# gcc options
# -c : compile only
# -g : source level debugging
2014-04-06 11:43:13 -04:00
CCFLAGS = -c -g -O -Wall -W -o$@
2012-08-14 18:07:04 -04:00
endif
VPATH = $(QEP_SRCDIR) $(QF_SRCDIR) $(QS_SRCDIR)
# the objects to build =======================================================
QEP_OBJS = \
2013-12-30 17:37:40 -05:00
$(BINDIR)/qep.o \
2014-04-06 11:43:13 -04:00
$(BINDIR)/qmsm_ini.o \
$(BINDIR)/qmsm_dis.o \
$(BINDIR)/qmsm_in.o \
2013-12-30 17:37:40 -05:00
$(BINDIR)/qfsm_ini.o \
$(BINDIR)/qfsm_dis.o \
$(BINDIR)/qhsm_ini.o \
$(BINDIR)/qhsm_dis.o \
$(BINDIR)/qhsm_top.o \
2014-04-06 11:43:13 -04:00
$(BINDIR)/qhsm_in.o
2012-08-14 18:07:04 -04:00
QF_OBJS = \
2013-12-30 17:37:40 -05:00
$(BINDIR)/qa_ctor.o \
$(BINDIR)/qa_defer.o \
$(BINDIR)/qa_fifo.o \
$(BINDIR)/qa_lifo.o \
$(BINDIR)/qa_get_.o \
$(BINDIR)/qa_sub.o \
$(BINDIR)/qa_usub.o \
$(BINDIR)/qa_usuba.o \
$(BINDIR)/qeq_init.o \
$(BINDIR)/qeq_fifo.o \
$(BINDIR)/qeq_lifo.o \
$(BINDIR)/qeq_get.o \
$(BINDIR)/qf_act.o \
$(BINDIR)/qf_gc.o \
$(BINDIR)/qf_log2.o \
$(BINDIR)/qf_new.o \
$(BINDIR)/qf_pool.o \
$(BINDIR)/qf_psini.o \
$(BINDIR)/qf_pspub.o \
$(BINDIR)/qf_pwr2.o \
$(BINDIR)/qf_tick.o \
$(BINDIR)/qma_ctor.o \
$(BINDIR)/qmp_get.o \
$(BINDIR)/qmp_init.o \
$(BINDIR)/qmp_put.o \
$(BINDIR)/qte_ctor.o \
$(BINDIR)/qte_arm.o \
$(BINDIR)/qte_darm.o \
$(BINDIR)/qte_rarm.o \
$(BINDIR)/qte_ctr.o \
$(BINDIR)/qf_port.o \
$(BINDIR)/win32_gui.o
2012-08-14 18:07:04 -04:00
2014-04-06 11:43:13 -04:00
# the targets ================================================================
2012-08-14 18:07:04 -04:00
2014-04-06 11:43:13 -04:00
all: $(BINDIR) $(BINDIR)/libqp.a
2013-12-30 17:37:40 -05:00
-$(RM) $(BINDIR)/*.o
2012-08-14 18:07:04 -04:00
2014-04-06 11:43:13 -04:00
$(BINDIR):
2012-08-14 18:07:04 -04:00
mkdir $@
2013-12-30 17:37:40 -05:00
$(BINDIR)/libqp.a: $(QEP_OBJS) $(QF_OBJS) $(QS_OBJS)
-$(RM) $(BINDIR)/libqp.a
$(LIB) $(LIBFLAGS) $(BINDIR)/libqp.a \
2012-08-14 18:07:04 -04:00
$(QEP_OBJS) \
$(QF_OBJS) \
$(QS_OBJS)
# QEP -----------------------------------------
2013-12-30 17:37:40 -05:00
$(BINDIR)/qep.o: $(QEP_SRCDIR)/qep.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QEP_SRCDIR) $<
2014-04-06 11:43:13 -04:00
$(BINDIR)/qmsm_ini.o: $(QEP_SRCDIR)/qmsm_ini.c
$(CC) $(CCFLAGS) $(CCINC) -I$(QEP_SRCDIR) $<
$(BINDIR)/qmsm_dis.o: $(QEP_SRCDIR)/qmsm_dis.c
$(CC) $(CCFLAGS) $(CCINC) -I$(QEP_SRCDIR) $<
$(BINDIR)/qmsm_in.o: $(QEP_SRCDIR)/qmsm_in.c
$(CC) $(CCFLAGS) $(CCINC) -I$(QEP_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qfsm_ini.o: $(QEP_SRCDIR)/qfsm_ini.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QEP_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qfsm_dis.o: $(QEP_SRCDIR)/qfsm_dis.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QEP_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qhsm_ini.o: $(QEP_SRCDIR)/qhsm_ini.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QEP_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qhsm_dis.o: $(QEP_SRCDIR)/qhsm_dis.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QEP_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qhsm_top.o: $(QEP_SRCDIR)/qhsm_top.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QEP_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qhsm_in.o: $(QEP_SRCDIR)/qhsm_in.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QEP_SRCDIR) $<
# QF -----------------------------------------
2013-12-30 17:37:40 -05:00
$(BINDIR)/qa_ctor.o: $(QF_SRCDIR)/qa_ctor.c
2013-09-23 14:34:35 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qa_defer.o: $(QF_SRCDIR)/qa_defer.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qa_fifo.o: $(QF_SRCDIR)/qa_fifo.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qa_lifo.o: $(QF_SRCDIR)/qa_lifo.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qa_get_.o: $(QF_SRCDIR)/qa_get_.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qa_sub.o: $(QF_SRCDIR)/qa_sub.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qa_usub.o: $(QF_SRCDIR)/qa_usub.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qa_usuba.o: $(QF_SRCDIR)/qa_usuba.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qeq_init.o: $(QF_SRCDIR)/qeq_init.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qeq_fifo.o: $(QF_SRCDIR)/qeq_fifo.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qeq_lifo.o: $(QF_SRCDIR)/qeq_lifo.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qeq_get.o: $(QF_SRCDIR)/qeq_get.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qf_act.o: $(QF_SRCDIR)/qf_act.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qf_gc.o: $(QF_SRCDIR)/qf_gc.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qf_log2.o: $(QF_SRCDIR)/qf_log2.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qf_new.o: $(QF_SRCDIR)/qf_new.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qf_pool.o: $(QF_SRCDIR)/qf_pool.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qf_psini.o: $(QF_SRCDIR)/qf_psini.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qf_pspub.o: $(QF_SRCDIR)/qf_pspub.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qf_pwr2.o: $(QF_SRCDIR)/qf_pwr2.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qf_tick.o: $(QF_SRCDIR)/qf_tick.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qma_ctor.o: $(QF_SRCDIR)/qma_ctor.c
2013-09-23 14:34:35 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qmp_get.o: $(QF_SRCDIR)/qmp_get.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qmp_init.o: $(QF_SRCDIR)/qmp_init.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qmp_put.o: $(QF_SRCDIR)/qmp_put.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qte_ctor.o: $(QF_SRCDIR)/qte_ctor.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qte_arm.o: $(QF_SRCDIR)/qte_arm.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qte_darm.o: $(QF_SRCDIR)/qte_darm.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qte_rarm.o: $(QF_SRCDIR)/qte_rarm.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qte_ctr.o: $(QF_SRCDIR)/qte_ctr.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qf_port.o: $(QP_PRTDIR)/qf_port.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/win32_gui.o: $(QP_PRTDIR)/win32_gui.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QF_SRCDIR) $<
# QS -----------------------------------------
2013-12-30 17:37:40 -05:00
$(BINDIR)/qs.o: $(QS_SRCDIR)/qs.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QS_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qs_.o: $(QS_SRCDIR)/qs_.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QS_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qs_blk.o: $(QS_SRCDIR)/qs_blk.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QS_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qs_byte.o: $(QS_SRCDIR)/qs_byte.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QS_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qs_dict.o: $(QS_SRCDIR)/qs_dict.c
2013-09-23 14:34:35 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QS_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qs_f32.o: $(QS_SRCDIR)/qs_f32.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QS_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qs_f64.o: $(QS_SRCDIR)/qs_f64.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QS_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qs_mem.o: $(QS_SRCDIR)/qs_mem.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QS_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qs_str.o: $(QS_SRCDIR)/qs_str.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QS_SRCDIR) $<
2013-12-30 17:37:40 -05:00
$(BINDIR)/qs_u64.o: $(QS_SRCDIR)/qs_u64.c
2012-08-14 18:07:04 -04:00
$(CC) $(CCFLAGS) $(CCINC) -I$(QS_SRCDIR) $<
# clean ======================================================================
.PHONY : clean
clean:
2013-12-30 17:37:40 -05:00
-$(RM) $(BINDIR)/*.o
-$(RM) $(BINDIR)/*.a
2012-08-14 18:07:04 -04:00