📄 makefile
字号:
# dummy value (path existence is not checked)HWLINCLUDE_LOCATION=dont_use_hwl_includesinclude common.mkCFLAGS += -Wformat# realmagichwl_kernelland.o depends on nothing# !!! rmkernelproperties_switch.o must be compiled before rmkernelproperties.o !!!R_K_OBJ = \ ../../rmmemorymanager/src/rmmemorymanager.o \ ../../rmcore/src/rmcorequeue.o \ ../../rmcore/src/rmgrep.o \ ../../rmcore/src/rmwrrd.o \ kernelcalls.o \ minor.o \ probe.o \ rmkernelproperties_switch.o \ rmkernelproperties.o \ asyncdma.o \ readableproperty.o \ rmregistry.oifeq ($(findstring -DWITH_PCI=1, $(REALMAGICHWL_FEATURES)), -DWITH_PCI=1)R_K_OBJ += pciprobe.oendififeq ($(findstring -DWITH_PROC=1, $(REALMAGICHWL_FEATURES)), -DWITH_PROC=1)R_K_OBJ += proccontent.o endififeq ($(findstring -DWITH_SM2288=1, $(REALMAGICHWL_FEATURES)), -DWITH_SM2288=1)R_K_OBJ += encoderparam.o endif# Detect versions of gccmodulecc:=$(shell $(CC) -v 2>&1 | tail -1)version="^Linux version [^(]* (.*@.*) (\(.*\)) .*"kernelcc:=$(shell cat /proc/version | sed "s/"$(version)"/\1/")modulecc:=$(shell echo "$(modulecc)" | cut -d ' ' -f 3)kernelcc:=$(shell echo "$(kernelcc)" | cut -d ' ' -f 3).PHONY: rm_rpr.inc \ ../include/Names/rmhwlibprop.inc \ qhwlib/hwl.o \ private/private.o \ private/private_osdbuf.o \ private/private_yuvbuf.oGCC_LIB = `gcc -print-libgcc-file-name`ifeq ($(findstring MARBO, $(RMPLATFORM)), MARBO)GCC_LIB = endififeq ($(findstring RBTX, $(RMPLATFORM)), RBTX)GCC_LIB = endififeq ($(findstring PXA, $(RMPLATFORM)), PXA) GCC_LIB = endififeq ($(findstring IXDP425, $(RMPLATFORM)), IXDP425)GCC_LIB = endififeq ($(findstring CENTAUR, $(RMPLATFORM)), CENTAUR)GCC_LIB = endififeq ($(findstring COUGAR, $(RMPLATFORM)), COUGAR)GCC_LIB = endifrealmagichwl_kernelland.o: rm_rpr.inc gcc-check ../include/Names/rmhwlibprop.inc $(R_K_OBJ) private/private.o qhwlib/hwl.o $(LD) -r $(R_K_OBJ) private/private.o qhwlib/hwl.o $(GCC_LIB) -o $@# realmagichwl_kernelland_osdbuf.o depends on realmagichwl_kernelland.oR_K_OSDBUF_OBJ = osdbuf_module.o csc.orealmagichwl_kernelland_osdbuf.o: $(R_K_OSDBUF_OBJ) private/private_osdbuf.o $(LD) -r $^ -o $@# realmagichwl_kernelland_fb.o depends on realmagichwl_kernelland_osdbuf.o and Linux fb support (fb.o and friends)R_K_FB_OBJ = fb.orealmagichwl_kernelland_fb.o: $(R_K_FB_OBJ) $(LD) -r $(R_K_FB_OBJ) -o $@# realmagichwl_kernelland_yuvbuf.o depends on realmagichwl_kernelland.oR_K_YUVBUF_OBJ = yuvbuf_module.orealmagichwl_kernelland_yuvbuf.o: $(R_K_YUVBUF_OBJ) private/private_yuvbuf.o $(LD) -r $^ -o $@# realmagichwl_kernelland_snd.o depends on realmagichwl_kernelland_osdbuf.o and Linux sound support (soundcore.o and friends)R_K_SND_OBJ = snd.o ../../rmsampling/src/rmsampling.orealmagichwl_kernelland_snd.o: $(R_K_SND_OBJ) $(LD) -r $^ -o $@gcc-check: @if [ -z $(IGNORE_CC_MISMATCH) ]; then \ if [ $(kernelcc) != $(modulecc) ]; then \ echo " "; \ echo "You appear to be compiling the REALmagic kernel module with "; \ echo "a compiler different from the one that was used to compile "; \ echo "the running kernel. "; \ echo "current gcc version : $(modulecc) "; \ echo "kernel gcc version : $(kernelcc) "; \ echo -en "\033[1;31m"; \ echo -e "*** Failed gcc sanity check. ***"; \ echo -en "\033[0m"; \ exit -1; \ fi \ firpr.inc: @if sh headercheck.sh; then echo "CFLAGS += -DREMAP_PAGE_RANGE_FIVE_ARGS=1" >$@; else echo >$@; firm_rpr.inc: @$(RM) rpr.inc-include rpr.inc# the ``all'' rule is not the first one: default is to build only realmagichwl_kernelland.oall: realmagichwl_kernelland.o \ realmagichwl_kernelland_osdbuf.o \ realmagichwl_kernelland_fb.o \ realmagichwl_kernelland_yuvbuf.o \ realmagichwl_kernelland_snd.oSRC := $(addsuffix .c, $(basename $(R_K_OBJ) $(R_K_OSDBUF_OBJ) $(R_K_FB_OBJ) $(R_K_YUVBUF_OBJ) $(R_K_SND_OBJ)))BIN_ONLY := qhwlib/hwl.o private/private.o private/private_osdbuf.o private/private_yuvbuf.oEXTRA_DIST_FILES=headercheck.sh Makefile LICENSING common.mk *.pl $(BIN_ONLY)dist: $(BIN_ONLY) mkdir -p ../kernel_src_dist && \ (echo $(EXTRA_DIST_FILES) ; $(CC) $(CFLAGS) -MM $(SRC) 2>/dev/null) \ |sed 's/^.*://' | sed 's/\\//' | tr ' ' '\n' \ |grep -v "\.\./include/" |grep -v rmdef/ |grep -v rmcore/ |grep -v rmmemorymanager/ |grep -v rmsampling/ \ |sort -u |xargs cp -f --parents --target-directory=../kernel_src_dist../../rmmemorymanager/src/rmmemorymanager.o: make CFLAGS="$(CFLAGS)" -C $(@D)../../rmcore/src/rmcore.o: make CFLAGS="$(CFLAGS)" -C $(@D)../../rmsampling/src/rmsampling.o: make CFLAGS="$(CFLAGS)" -C $(@D)# include/os/osinc.h is only here for reminder (windows version). The right one, to be compiled, is in realmagichwl_kernelland/# include/config.h is only here for reminder. The right one, to be compiled, is in realmagichwl_kernelland/qhwlib/hwl.o: $(RM) include/os/osinc.h include/config.h $(MAKE) -C qhwlib hwl.o private/private.o: $(RM) include/os/osinc.h include/config.h $(MAKE) -C private private.oprivate/private_osdbuf.o: $(MAKE) -C private private_osdbuf.oprivate/private_yuvbuf.o: $(MAKE) -C private private_yuvbuf.o../include/Names/rmhwlibprop.inc: ../include/rm84cmn.h @mkdir -p /tmp/$(USER) @./parserm84cmn.pl $^ /tmp/$(USER)/rmhwlibprop.inc || { echo cannot run parserm84cmn.pl; exit 1; } @cmp -s /tmp/$(USER)/rmhwlibprop.inc $@ || { echo rmhwlibprop.inc does not reflect rm84cmn.h. Commit rmhwlibprop.inc from /tmp/$(USER) manually; exit 1; }rmkernelproperties_switch.c: ../include/Names/rmkernelproperties.inc ./parseinc.pl $^clean: $(RM) *~ *.o rmkernelproperties_switch.c rmkernelproperties_switch.hcleanall: clean $(MAKE) -C qhwlib clean $(MAKE) -C private clean $(MAKE) -C ../../rmmemorymanager/src clean $(MAKE) -C ../../rmcore/src clean $(MAKE) -C ../../rmsampling/src clean
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -