Makefile revision 1450
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore#
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore#
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# Permission is hereby granted, free of charge, to any person obtaining a
52671ce4f644d565b2acd71a8ce4f6d20829a67cAdam Moore# copy of this software and associated documentation files (the "Software"),
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# to deal in the Software without restriction, including without limitation
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# the rights to use, copy, modify, merge, publish, distribute, sublicense,
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# and/or sell copies of the Software, and to permit persons to whom the
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# Software is furnished to do so, subject to the following conditions:
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore#
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# The above copyright notice and this permission notice (including the next
02fc09f797e83e80199c96adc4751c230dccc973Adam Moore# paragraph) shall be included in all copies or substantial portions of the
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# Software.
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore#
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
52671ce4f644d565b2acd71a8ce4f6d20829a67cAdam Moore# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
c4f19796d319a7ec9a1e76d48adc82c9c5ae2f27Adam Moore# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
08e054017132cdd838955bc0af15889f1f2a7b42Adam Moore# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
b46f3d670b654847b0ce60afdba1b461c492a5c9Adam Moore# DEALINGS IN THE SOFTWARE.
b46f3d670b654847b0ce60afdba1b461c492a5c9Adam Moore#
b46f3d670b654847b0ce60afdba1b461c492a5c9Adam Moore#
08e054017132cdd838955bc0af15889f1f2a7b42Adam Moore###############################################################################
52671ce4f644d565b2acd71a8ce4f6d20829a67cAdam Moore#
0771d781138a507b3e657573703f511291640bf3Adam Moore# This Makefile actually builds the efb framebuffer driver
52671ce4f644d565b2acd71a8ce4f6d20829a67cAdam Moore#
52671ce4f644d565b2acd71a8ce4f6d20829a67cAdam Moore###############################################################################
52671ce4f644d565b2acd71a8ce4f6d20829a67cAdam Moore
52671ce4f644d565b2acd71a8ce4f6d20829a67cAdam MooreTOP:sh = hg root
0771d781138a507b3e657573703f511291640bf3Adam Moore
0771d781138a507b3e657573703f511291640bf3Adam MooreC_SRCS = ati_pcigart.c \
0771d781138a507b3e657573703f511291640bf3Adam Moore drm_agpsupport.c \
0771d781138a507b3e657573703f511291640bf3Adam Moore drm_auth.c \
0771d781138a507b3e657573703f511291640bf3Adam Moore drm_bufs.c \
9c42541e375e7bb70c53012b3012d70f1a380254Adam Moore drm_context.c \
9c42541e375e7bb70c53012b3012d70f1a380254Adam Moore drm_dma.c \
9c42541e375e7bb70c53012b3012d70f1a380254Adam Moore drm_drawable.c \
0771d781138a507b3e657573703f511291640bf3Adam Moore drm_drv.c \
9c42541e375e7bb70c53012b3012d70f1a380254Adam Moore drm_fops.c \
9c42541e375e7bb70c53012b3012d70f1a380254Adam Moore drm_ioctl.c \
02fc09f797e83e80199c96adc4751c230dccc973Adam Moore drm_irq.c \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore drm_kstat.c \
2690c090ce850e485d15cf691f59e8aaeb3b4bb1Adam Moore drm_lock.c \
8aa0880cd494c951e0f4aa7d82d8bdac7692c7d0Adam Moore drm_memory.c \
8aa0880cd494c951e0f4aa7d82d8bdac7692c7d0Adam Moore drm_msg.c \
8aa0880cd494c951e0f4aa7d82d8bdac7692c7d0Adam Moore drm_pci.c \
abdfe7cf11d34f89f17b26e4779bf6079d22a910Adam Moore drm_scatter.c \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore drm_sunmod.c \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore efb_drv.c \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore efb_edid.c \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore efb_i2c.c \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore efb_map.c \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore efb_vis.c \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore r300_cmdbuf.c \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore radeon_cp.c \
2690c090ce850e485d15cf691f59e8aaeb3b4bb1Adam Moore radeon_drv.c \
fb49666327c2cb6ea5a7d2dea5160b649bc07c51Adam Moore radeon_irq.c \
2690c090ce850e485d15cf691f59e8aaeb3b4bb1Adam Moore radeon_mem.c \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore radeon_state.c
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
abdfe7cf11d34f89f17b26e4779bf6079d22a910Adam MooreMANPAGES = efb.7d
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreMANSECTION = man7d
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreMANSOURCE = ../manpages
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# Include kernel common rules
80d2034f65b9348e5fd36291f03b0819181efb89Adam Mooreinclude $(TOP)/open-src/kernel/Makefile.rules
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreMODULE = efb
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreOBJECTS = $(C_SRCS:%.c=%.o)
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreLINTS = $(OBJECTS:%.o=%.ln)
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore#
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# Define targets
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore#
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreALL_TARGET = $(BINARY)
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreLINT_TARGET = $(MODULE).lint
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreINSTALL_TARGET = $(BINARY) $(ROOTMODULE)
abdfe7cf11d34f89f17b26e4779bf6079d22a910Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore#
abdfe7cf11d34f89f17b26e4779bf6079d22a910Adam Moore# Lint errors that are not clean
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore#
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreLINTTAGS += -erroff=E_STATIC_UNUSED
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreLINTFLAGS += -erroff=E_BAD_PTR_CAST_ALIGN
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore#
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# Default build targets.
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore#
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore.KEEP_STATE_FILE: .make.state.$(MACH)
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# .SUFFIXES:
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# .DEFAULT: $(MODULE)
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Mooreall: $(MODULE)
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore$(OBJECTS):
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore $(CTFCONVERT) $(CTFCVTFLAGS) $@
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore$(MODULE): $(OBJECTS)
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore $(LD) -o $@ $(LDFLAGS) $(OBJECTS)
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore $(CTFMERGE) $(CTFMERGE_LABEL) -o $@ $(OBJECTS)
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Mooredef: $(DEF_DEPS)
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Mooreclean: $(CLEAN_DEPS)
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore $(RM) $(OBJECTS)
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Mooreclobber: clean
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore $(RM) *.bc
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore $(RM) $(MODULE)
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moorelint: $(LINT_DEPS)
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Mooremodlintlib: $(MODLINTLIB_DEPS)
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Mooreclean.lint: $(CLEAN_LINT_DEPS)
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Mooreinstall: $(INSTALL_DEPS)
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore @print Installing $(MODULE) in $(PROTODIR)/$(PREFIX)
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore @mkdir -p $(PROTODIR)/$(PREFIX)
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore @$(INSTALL) -m 555 $(MODULE) $(PROTODIR)/$(PREFIX)
abdfe7cf11d34f89f17b26e4779bf6079d22a910Adam Moore @print Installing $(MANSOURCE)/$(MANPAGES) in $(PROTODIR)$(MANTARGET)
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore @mkdir -p $(PROTODIR)$(ROOT_MAN_DIR)/$(MANSECTION)
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore @$(INSTALL) -m 644 $(MANSOURCE)/$(MANPAGES) $(PROTODIR)$(MANTARGET)
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore