TARGET = mykill
TARGET64 = mykill64

TOOLCHAIN ?= /home/yury/work/toolchain/thunderx-tools/bin/aarch64-thunderx-linux-gnu-
CC = $(TOOLCHAIN)gcc
LD = $(CC)
OBJDUMP = $(TOOLCHAIN)objdump

CFLAGS = -g -O0 -Wall --std=gnu99 $(ABIFLAGS)
CFLAGS64 = -g -O0 -Wall --std=gnu99

ifeq ("$(origin s)", "command line")
  STATIC = --static
endif
LDFLAGS += -g $(ABIFLAGS)
LDFLAGS += -pthread
LDFLAGS += -Wl,--rpath=/root/sys-root/libilp32
LDFLAGS += -Wl,--dynamic-linker=/root/sys-root/libilp32/ld-2.21.90.so
LDFLAGS += $(STATIC)

LDFLAGS64 += -g
LDFLAGS64 += -pthread
LDFLAGS64 += $(STATIC)

ABIFLAGS = -mabi=ilp32

CSRC = main.c

OBJS += $(patsubst %.cxx, %.o, $(CXXSRC)) $(patsubst %.c, %.o, $(CSRC))
OBJS64 += $(patsubst %.cxx, %.o, $(CXXSRC)) $(patsubst %.c, %64.o, $(CSRC))

all: $(TARGET) $(TARGET64)

install: all
	scp $(TARGET) arm:
	scp $(TARGET64) arm:

lss: $(TARGET).lss $(TARGET64).lss

%64.o: %.c
	$(CC) $(CFLAGS64) -c $< -o $@

%.o: %.c
	$(CC) $(CFLAGS) -c $< -o $@

$(TARGET).lss: $(TARGET)
	$(OBJDUMP) -d -S $< > $@

$(TARGET64).lss: $(TARGET64)
	$(OBJDUMP) -d -S $< > $@

$(TARGET): $(OBJS)
	$(LD) $^ $(LDFLAGS) -o $@

$(TARGET64): $(OBJS64)
	$(LD) $^ $(LDFLAGS64) -o $@

PHONY: clean
clean:
	rm -f $(TARGET64) $(TARGET64).lss
	rm -f $(TARGET) $(TARGET).lss
	rm -f *.o
