174 lines
6.1 KiB
Makefile
174 lines
6.1 KiB
Makefile
############################################################################
|
|
# graphics/nxglib/Makefile.devblit
|
|
#
|
|
# Copyright (C) 2008, 2010-2011, 2019 Gregory Nutt. All rights reserved.
|
|
# Author: Gregory Nutt <gnutt@nuttx.org>
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions
|
|
# are met:
|
|
#
|
|
# 1. Redistributions of source code must retain the above copyright
|
|
# notice, this list of conditions and the following disclaimer.
|
|
# 2. Redistributions in binary form must reproduce the above copyright
|
|
# notice, this list of conditions and the following disclaimer in
|
|
# the documentation and/or other materials provided with the
|
|
# distribution.
|
|
# 3. Neither the name NuttX nor the names of its contributors may be
|
|
# used to endorse or promote products derived from this software
|
|
# without specific prior written permission.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
|
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
|
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
# POSSIBILITY OF SUCH DAMAGE.
|
|
#
|
|
############################################################################
|
|
|
|
include $(TOPDIR)/Make.defs
|
|
|
|
CPPFLAGS += ${shell $(INCDIR) "$(CC)" $(TOPDIR)$(DELIM)graphics$(DELIM)nxglib}
|
|
|
|
ifeq ($(NXGLIB_BITSPERPIXEL),1)
|
|
NXGLIB_SUFFIX := _1bpp
|
|
SETP_CSRC := nxglib_setpixel_1bpp.c
|
|
RFILL_CSRC := nxglib_fillrectangle_1bpp.c
|
|
RGET_CSRC := nxglib_getrectangle_1bpp.c
|
|
TFILL_CSRC := nxglib_filltrapezoid_1bpp.c
|
|
RMOVE_CSRC := nxglib_moverectangle_1bpp.c
|
|
RCOPY_CSRC := nxglib_copyrectangle_1bpp.c
|
|
endif
|
|
ifeq ($(NXGLIB_BITSPERPIXEL),2)
|
|
NXGLIB_SUFFIX := _2bpp
|
|
SETP_CSRC := nxglib_setpixel_2bpp.c
|
|
RFILL_CSRC := nxglib_fillrectangle_2bpp.c
|
|
RGET_CSRC := nxglib_getrectangle_2bpp.c
|
|
TFILL_CSRC := nxglib_filltrapezoid_2bpp.c
|
|
RMOVE_CSRC := nxglib_moverectangle_2bpp.c
|
|
RCOPY_CSRC := nxglib_copyrectangle_2bpp.c
|
|
endif
|
|
ifeq ($(NXGLIB_BITSPERPIXEL),4)
|
|
NXGLIB_SUFFIX := _4bpp
|
|
SETP_CSRC := nxglib_setpixel_4bpp.c
|
|
RFILL_CSRC := nxglib_fillrectangle_4bpp.c
|
|
RGET_CSRC := nxglib_getrectangle_4bpp.c
|
|
TFILL_CSRC := nxglib_filltrapezoid_4bpp.c
|
|
RMOVE_CSRC := nxglib_moverectangle_4bpp.c
|
|
RCOPY_CSRC := nxglib_copyrectangle_4bpp.c
|
|
endif
|
|
ifeq ($(NXGLIB_BITSPERPIXEL),8)
|
|
NXGLIB_SUFFIX := _8bpp
|
|
SETP_CSRC := nxglib_setpixel_8bpp.c
|
|
RFILL_CSRC := nxglib_fillrectangle_8bpp.c
|
|
RGET_CSRC := nxglib_getrectangle_8bpp.c
|
|
TFILL_CSRC := nxglib_filltrapezoid_8bpp.c
|
|
RMOVE_CSRC := nxglib_moverectangle_8bpp.c
|
|
RCOPY_CSRC := nxglib_copyrectangle_8bpp.c
|
|
endif
|
|
ifeq ($(NXGLIB_BITSPERPIXEL),16)
|
|
NXGLIB_SUFFIX := _16bpp
|
|
SETP_CSRC := nxglib_setpixel_16bpp.c
|
|
RFILL_CSRC := nxglib_fillrectangle_16bpp.c
|
|
RGET_CSRC := nxglib_getrectangle_16bpp.c
|
|
TFILL_CSRC := nxglib_filltrapezoid_16bpp.c
|
|
RMOVE_CSRC := nxglib_moverectangle_16bpp.c
|
|
RCOPY_CSRC := nxglib_copyrectangle_16bpp.c
|
|
endif
|
|
ifeq ($(NXGLIB_BITSPERPIXEL),24)
|
|
NXGLIB_SUFFIX := _24bpp
|
|
SETP_CSRC := nxglib_setpixel_24bpp.c
|
|
RFILL_CSRC := nxglib_fillrectangle_24bpp.c
|
|
RGET_CSRC := nxglib_getrectangle_24bpp.c
|
|
TFILL_CSRC := nxglib_filltrapezoid_24bpp.c
|
|
RMOVE_CSRC := nxglib_moverectangle_24bpp.c
|
|
RCOPY_CSRC := nxglib_copyrectangle_24bpp.c
|
|
endif
|
|
ifeq ($(NXGLIB_BITSPERPIXEL),32)
|
|
NXGLIB_SUFFIX := _32bpp
|
|
SETP_CSRC := nxglib_setpixel_32bpp.c
|
|
RFILL_CSRC := nxglib_fillrectangle_32bpp.c
|
|
RGET_CSRC := nxglib_getrectangle_32bpp.c
|
|
TFILL_CSRC := nxglib_filltrapezoid_32bpp.c
|
|
RMOVE_CSRC := nxglib_moverectangle_32bpp.c
|
|
RCOPY_CSRC := nxglib_copyrectangle_32bpp.c
|
|
endif
|
|
|
|
CPPFLAGS += -DNXGLIB_BITSPERPIXEL=$(NXGLIB_BITSPERPIXEL)
|
|
CPPFLAGS += -DNXGLIB_SUFFIX=$(NXGLIB_SUFFIX)
|
|
|
|
SETP_TMP = $(SETP_CSRC:.c=.i)
|
|
RFILL_TMP = $(RFILL_CSRC:.c=.i)
|
|
RGET_TMP = $(RGET_CSRC:.c=.i)
|
|
TFILL_TMP = $(TFILL_CSRC:.c=.i)
|
|
RMOVE_TMP = $(RMOVE_CSRC:.c=.i)
|
|
RCOPY_TMP = $(RCOPY_CSRC:.c=.i)
|
|
|
|
GEN_CSRCS = $(SETP_CSRC) $(RFILL_CSRC) $(RGET_CSRC) $(TFILL_CSRC) $(RMOVE_CSRC) $(RCOPY_CSRC)
|
|
|
|
ifeq ($(CONFIG_NX_LCDDRIVER),y)
|
|
BLITDIR = lcd
|
|
else
|
|
BLITDIR = fb
|
|
endif
|
|
|
|
all: $(GEN_CSRCS)
|
|
.PHONY : distclean
|
|
|
|
$(SETP_CSRC) : $(BLITDIR)/nxglib_setpixel.c nxglib_bitblit.h
|
|
ifneq ($(NXGLIB_BITSPERPIXEL),)
|
|
$(call PREPROCESS, $(BLITDIR)/nxglib_setpixel.c, $(SETP_TMP))
|
|
$(Q) cat $(SETP_TMP) | sed -e "/^#/d" >$@
|
|
$(Q) rm -f $(SETP_TMP)
|
|
endif
|
|
|
|
$(RFILL_CSRC) : $(BLITDIR)/nxglib_fillrectangle.c nxglib_bitblit.h
|
|
ifneq ($(NXGLIB_BITSPERPIXEL),)
|
|
$(call PREPROCESS, $(BLITDIR)/nxglib_fillrectangle.c, $(RFILL_TMP))
|
|
$(Q) cat $(RFILL_TMP) | sed -e "/^#/d" >$@
|
|
$(Q) rm -f $(RFILL_TMP)
|
|
endif
|
|
|
|
$(RGET_CSRC) : $(BLITDIR)/nxglib_getrectangle.c nxglib_bitblit.h
|
|
ifneq ($(NXGLIB_BITSPERPIXEL),)
|
|
$(call PREPROCESS, $(BLITDIR)/nxglib_getrectangle.c, $(RGET_TMP))
|
|
$(Q) cat $(RGET_TMP) | sed -e "/^#/d" >$@
|
|
$(Q) rm -f $(RGET_TMP)
|
|
endif
|
|
|
|
$(TFILL_CSRC) : $(BLITDIR)/nxglib_filltrapezoid.c nxglib_bitblit.h
|
|
ifneq ($(NXGLIB_BITSPERPIXEL),)
|
|
$(call PREPROCESS, $(BLITDIR)/nxglib_filltrapezoid.c, $(TFILL_TMP))
|
|
$(Q) cat $(TFILL_TMP) | sed -e "/^#/d" >$@
|
|
$(Q) rm -f $(TFILL_TMP)
|
|
endif
|
|
|
|
$(RMOVE_CSRC) : $(BLITDIR)/nxglib_moverectangle.c nxglib_bitblit.h
|
|
ifneq ($(NXGLIB_BITSPERPIXEL),)
|
|
$(call PREPROCESS, $(BLITDIR)/nxglib_moverectangle.c, $(RMOVE_TMP))
|
|
$(Q) cat $(RMOVE_TMP) | sed -e "/^#/d" >$@
|
|
$(Q) rm -f $(RMOVE_TMP)
|
|
endif
|
|
|
|
$(RCOPY_CSRC) : $(BLITDIR)/nxglib_copyrectangle.c nxglib_bitblit.h
|
|
ifneq ($(NXGLIB_BITSPERPIXEL),)
|
|
$(call PREPROCESS, $(BLITDIR)/nxglib_copyrectangle.c, $(RCOPY_TMP))
|
|
$(Q) cat $(RCOPY_TMP) | sed -e "/^#/d" >$@
|
|
$(Q) rm -f $(RCOPY_TMP)
|
|
endif
|
|
|
|
distclean:
|
|
$(call DELFILE, nxglib_setpixel_*bpp.c)
|
|
$(call DELFILE, nxglib_fillrectangle_*bpp.c)
|
|
$(call DELFILE, nxglib_getrectangle_*bpp.c)
|
|
$(call DELFILE, nxglib_filltrapezoid_*bpp.c)
|
|
$(call DELFILE, nxglib_moverectangle_*bpp.c)
|
|
$(call DELFILE, nxglib_copyrectangle_*bpp.c)
|