cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

Makefile (1933B)


      1# SPDX-License-Identifier: GPL-2.0
      2
      3obj-$(CONFIG_SPU_FS) += spufs.o
      4spufs-y += inode.o file.o context.o syscalls.o
      5spufs-y += sched.o backing_ops.o hw_ops.o run.o gang.o
      6spufs-y += switch.o fault.o lscsa_alloc.o
      7spufs-$(CONFIG_COREDUMP) += coredump.o
      8
      9# magic for the trace events
     10CFLAGS_sched.o := -I$(src)
     11
     12# Rules to build switch.o with the help of SPU tool chain
     13SPU_CROSS	:= spu-
     14SPU_CC		:= $(SPU_CROSS)gcc
     15SPU_AS		:= $(SPU_CROSS)gcc
     16SPU_LD		:= $(SPU_CROSS)ld
     17SPU_OBJCOPY	:= $(SPU_CROSS)objcopy
     18SPU_CFLAGS	:= -O2 -Wall -I$(srctree)/include -D__KERNEL__
     19SPU_AFLAGS	:= -c -D__ASSEMBLY__ -I$(srctree)/include -D__KERNEL__
     20SPU_LDFLAGS	:= -N -Ttext=0x0
     21
     22$(obj)/switch.o: $(obj)/spu_save_dump.h $(obj)/spu_restore_dump.h
     23clean-files := spu_save_dump.h spu_restore_dump.h
     24
     25# Compile SPU files
     26      cmd_spu_cc = $(SPU_CC) $(SPU_CFLAGS) -c -o $@ $<
     27quiet_cmd_spu_cc = SPU_CC  $@
     28$(obj)/spu_%.o: $(src)/spu_%.c
     29	$(call if_changed,spu_cc)
     30
     31# Assemble SPU files
     32      cmd_spu_as = $(SPU_AS) $(SPU_AFLAGS) -o $@ $<
     33quiet_cmd_spu_as = SPU_AS  $@
     34$(obj)/spu_%.o: $(src)/spu_%.S
     35	$(call if_changed,spu_as)
     36
     37# Link SPU Executables
     38      cmd_spu_ld = $(SPU_LD) $(SPU_LDFLAGS) -o $@ $^
     39quiet_cmd_spu_ld = SPU_LD  $@
     40$(obj)/spu_%: $(obj)/spu_%_crt0.o $(obj)/spu_%.o
     41	$(call if_changed,spu_ld)
     42
     43# Copy into binary format
     44      cmd_spu_objcopy = $(SPU_OBJCOPY) -O binary $< $@
     45quiet_cmd_spu_objcopy = OBJCOPY $@
     46$(obj)/spu_%.bin: $(src)/spu_%
     47	$(call if_changed,spu_objcopy)
     48
     49# create C code from ELF executable
     50cmd_hexdump   = ( \
     51		echo "/*" ; \
     52		echo " * $*_dump.h: Copyright (C) 2005 IBM." ; \
     53		echo " * Hex-dump auto generated from $*.c." ; \
     54		echo " * Do not edit!" ; \
     55		echo " */" ; \
     56		echo "static unsigned int $*_code[] " \
     57			"__attribute__((__aligned__(128))) = {" ; \
     58		hexdump -v -e '"0x" 4/1 "%02x" "," "\n"' $< ; \
     59		echo "};" ; \
     60		) > $@
     61quiet_cmd_hexdump = HEXDUMP $@
     62$(obj)/%_dump.h: $(obj)/%.bin
     63	$(call if_changed,hexdump)