Advertisement
Guest User

Makefile

a guest
Mar 16th, 2017
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CMake 1.15 KB | None | 0 0
  1. LIBPS4  :=  $(PS4SDK)/libPS4
  2.  
  3. TEXT    :=  0x926200000
  4. DATA    :=  0x926300000
  5.  
  6. CC      :=  gcc
  7. AS      :=  gcc
  8. OBJCOPY :=  objcopy
  9. ODIR    :=  build
  10. SDIR    :=  source
  11. IDIRS   :=  -I$(LIBPS4)/include -I. -Iinclude
  12. LDIRS   :=  -L$(LIBPS4) -L. -Llib
  13. CFLAGS  :=  $(IDIRS) -O3 -std=gnu11 -fno-builtin -nostartfiles -nostdlib -Wall -masm=intel -march=btver2 -mtune=btver2 -m64 -mabi=sysv -mcmodel=large -DTEXT_ADDRESS=$(TEXT) -DDATA_ADDRESS=$(DATA)
  14. SFLAGS  :=  -nostartfiles -nostdlib -march=btver2 -mtune=btver2
  15. LFLAGS  :=  $(LDIRS) -Xlinker -T $(LIBPS4)/linker.x -Wl,--build-id=none -Ttext=$(TEXT) -Tdata=$(DATA)
  16. CFILES  :=  $(wildcard $(SDIR)/*.c)
  17. SFILES  :=  $(wildcard $(SDIR)/*.s)
  18. OBJS    :=  $(patsubst $(SDIR)/%.c, $(ODIR)/%.o, $(CFILES)) $(patsubst $(SDIR)/%.s, $(ODIR)/%.o, $(SFILES))
  19.  
  20. LIBS    :=  -lPS4
  21.  
  22. TARGET = $(shell basename $(CURDIR)).bin
  23.  
  24. $(TARGET): $(ODIR) $(OBJS)
  25.     $(CC) $(LIBPS4)/crt0.s $(ODIR)/*.o -o temp.t $(CFLAGS) $(LFLAGS) $(LIBS)
  26.     $(OBJCOPY) -O binary temp.t $(TARGET)
  27.     rm -f temp.t
  28.  
  29. $(ODIR)/%.o: $(SDIR)/%.c
  30.     $(CC) -c -o $@ $< $(CFLAGS)
  31.  
  32. $(ODIR)/%.o: $(SDIR)/%.s
  33.     $(AS) -c -o $@ $< $(SFLAGS)
  34.  
  35. $(ODIR):
  36.     @mkdir $@
  37.  
  38. .PHONY: clean
  39.  
  40. clean:
  41.     rm -f $(TARGET) $(ODIR)/*.o
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement