incubator-nuttx/graphics/nxglib/Makefile.devblit

161 lines
5.4 KiB
Makefile

############################################################################
# graphics/nxglib/Makefile.devblit
#
# SPDX-License-Identifier: Apache-2.0
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership. The
# ASF licenses this file to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance with the
# License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
############################################################################
include $(TOPDIR)/Make.defs
CPPFLAGS += ${INCDIR_PREFIX}$(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)