############################################################################ # graphics/nxglib/Makefile.pwfb # # Copyright (C) 2019 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # 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 := pwfb_setpixel_1bpp.c RFILL_CSRC := pwfb_fillrectangle_1bpp.c RGET_CSRC := pwfb_getrectangle_1bpp.c TFILL_CSRC := pwfb_filltrapezoid_1bpp.c RMOVE_CSRC := pwfb_moverectangle_1bpp.c RCOPY_CSRC := pwfb_copyrectangle_1bpp.c endif ifeq ($(NXGLIB_BITSPERPIXEL),2) NXGLIB_SUFFIX := _2bpp SETP_CSRC := pwfb_setpixel_2bpp.c RFILL_CSRC := pwfb_fillrectangle_2bpp.c RGET_CSRC := pwfb_getrectangle_2bpp.c TFILL_CSRC := pwfb_filltrapezoid_2bpp.c RMOVE_CSRC := pwfb_moverectangle_2bpp.c RCOPY_CSRC := pwfb_copyrectangle_2bpp.c endif ifeq ($(NXGLIB_BITSPERPIXEL),4) NXGLIB_SUFFIX := _4bpp SETP_CSRC := pwfb_setpixel_4bpp.c RFILL_CSRC := pwfb_fillrectangle_4bpp.c RGET_CSRC := pwfb_getrectangle_4bpp.c TFILL_CSRC := pwfb_filltrapezoid_4bpp.c RMOVE_CSRC := pwfb_moverectangle_4bpp.c RCOPY_CSRC := pwfb_copyrectangle_4bpp.c endif ifeq ($(NXGLIB_BITSPERPIXEL),8) NXGLIB_SUFFIX := _8bpp SETP_CSRC := pwfb_setpixel_8bpp.c RFILL_CSRC := pwfb_fillrectangle_8bpp.c RGET_CSRC := pwfb_getrectangle_8bpp.c TFILL_CSRC := pwfb_filltrapezoid_8bpp.c RMOVE_CSRC := pwfb_moverectangle_8bpp.c RCOPY_CSRC := pwfb_copyrectangle_8bpp.c endif ifeq ($(NXGLIB_BITSPERPIXEL),16) NXGLIB_SUFFIX := _16bpp SETP_CSRC := pwfb_setpixel_16bpp.c RFILL_CSRC := pwfb_fillrectangle_16bpp.c RGET_CSRC := pwfb_getrectangle_16bpp.c TFILL_CSRC := pwfb_filltrapezoid_16bpp.c RMOVE_CSRC := pwfb_moverectangle_16bpp.c RCOPY_CSRC := pwfb_copyrectangle_16bpp.c endif ifeq ($(NXGLIB_BITSPERPIXEL),24) NXGLIB_SUFFIX := _24bpp SETP_CSRC := pwfb_setpixel_24bpp.c RFILL_CSRC := pwfb_fillrectangle_24bpp.c RGET_CSRC := pwfb_getrectangle_24bpp.c TFILL_CSRC := pwfb_filltrapezoid_24bpp.c RMOVE_CSRC := pwfb_moverectangle_24bpp.c RCOPY_CSRC := pwfb_copyrectangle_24bpp.c endif ifeq ($(NXGLIB_BITSPERPIXEL),32) NXGLIB_SUFFIX := _32bpp SETP_CSRC := pwfb_setpixel_32bpp.c RFILL_CSRC := pwfb_fillrectangle_32bpp.c RGET_CSRC := pwfb_getrectangle_32bpp.c TFILL_CSRC := pwfb_filltrapezoid_32bpp.c RMOVE_CSRC := pwfb_moverectangle_32bpp.c RCOPY_CSRC := pwfb_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) BLITDIR = pwfb all: $(GEN_CSRCS) .PHONY : distclean $(SETP_CSRC) : $(BLITDIR)/pwfb_setpixel.c nxglib_bitblit.h ifneq ($(NXGLIB_BITSPERPIXEL),) $(call PREPROCESS, $(BLITDIR)/pwfb_setpixel.c, $(SETP_TMP)) $(Q) cat $(SETP_TMP) | sed -e "/^#/d" >$@ $(Q) rm -f $(SETP_TMP) endif $(RFILL_CSRC) : $(BLITDIR)/pwfb_fillrectangle.c nxglib_bitblit.h ifneq ($(NXGLIB_BITSPERPIXEL),) $(call PREPROCESS, $(BLITDIR)/pwfb_fillrectangle.c, $(RFILL_TMP)) $(Q) cat $(RFILL_TMP) | sed -e "/^#/d" >$@ $(Q) rm -f $(RFILL_TMP) endif $(RGET_CSRC) : $(BLITDIR)/pwfb_getrectangle.c nxglib_bitblit.h ifneq ($(NXGLIB_BITSPERPIXEL),) $(call PREPROCESS, $(BLITDIR)/pwfb_getrectangle.c, $(RGET_TMP)) $(Q) cat $(RGET_TMP) | sed -e "/^#/d" >$@ $(Q) rm -f $(RGET_TMP) endif $(TFILL_CSRC) : $(BLITDIR)/pwfb_filltrapezoid.c nxglib_bitblit.h ifneq ($(NXGLIB_BITSPERPIXEL),) $(call PREPROCESS, $(BLITDIR)/pwfb_filltrapezoid.c, $(TFILL_TMP)) $(Q) cat $(TFILL_TMP) | sed -e "/^#/d" >$@ $(Q) rm -f $(TFILL_TMP) endif $(RMOVE_CSRC) : $(BLITDIR)/pwfb_moverectangle.c nxglib_bitblit.h ifneq ($(NXGLIB_BITSPERPIXEL),) $(call PREPROCESS, $(BLITDIR)/pwfb_moverectangle.c, $(RMOVE_TMP)) $(Q) cat $(RMOVE_TMP) | sed -e "/^#/d" >$@ $(Q) rm -f $(RMOVE_TMP) endif $(RCOPY_CSRC) : $(BLITDIR)/pwfb_copyrectangle.c nxglib_bitblit.h ifneq ($(NXGLIB_BITSPERPIXEL),) $(call PREPROCESS, $(BLITDIR)/pwfb_copyrectangle.c, $(RCOPY_TMP)) $(Q) cat $(RCOPY_TMP) | sed -e "/^#/d" >$@ $(Q) rm -f $(RCOPY_TMP) endif distclean: $(call DELFILE, pwfb_setpixel_*bpp.c) $(call DELFILE, pwfb_fillrectangle_*bpp.c) $(call DELFILE, pwfb_getrectangle_*bpp.c) $(call DELFILE, pwfb_filltrapezoid_*bpp.c) $(call DELFILE, pwfb_moverectangle_*bpp.c) $(call DELFILE, pwfb_copyrectangle_*bpp.c)