Makefile 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. MAKEFLAGS += --check-symlink-times
  2. root = ../../../
  3. include ../../../Makefile.in
  4. OMIT_FRAME_POINTER = no
  5. CC = gcc
  6. AS = gcc
  7. AR = ar rcs
  8. CFLAGS = -Wall -fPIC -O2 -std=gnu99 -fgnu89-inline -Wall -U_FORTIFY_SOURCE \
  9. -fno-stack-protector -fno-builtin \
  10. -I. -I../.. -I../../../include -I$(lib_dir) -I$(ipc_dir) -I$(kernel_dir)
  11. ifeq ($(OMIT_FRAME_POINTER),yes)
  12. cflags += -DOMIT_FRAME_POINTER=1
  13. else
  14. cflags += -DOMIT_FRAME_POINTER=0 -fno-omit-frame-pointer
  15. endif
  16. ASFLAGS = -DPIC -DSHARED -fPIC -DASSEMBLER -Wa,--noexecstack \
  17. -x assembler-with-cpp \
  18. -I. -I../.. -I../../../include
  19. ARFLAGS =
  20. host_target = libpal-Skeleton.a
  21. defs = -DIN_PAL -DSRCDIR="$(PWD)/"
  22. objs = $(addprefix db_,files devices pipes sockets streams memory threading \
  23. semaphore mutex events process object main rtld misc ipc \
  24. exception) clone-x86_64 gettimeofday-x86_64
  25. graphene_lib = $(lib_dir)/graphene-lib.a
  26. headers = $(wildcard *.h) $(wildcard ../../*.h) $(wildcard $(lib_dir)/*.h)
  27. all: $(host_target)
  28. debug: debug = debug
  29. debug: CC = gcc -g
  30. debug: CFLAGS += -DDEBUG
  31. debug: $(host_target)
  32. $(graphene_lib):
  33. make -C $(lib_dir) $(debug)
  34. libpal-Skeleton.a: $(addsuffix .o,$(objs)) $(graphene_lib)
  35. @echo [ $@ ]
  36. @$(AR) $(ARFLAGS) $@ $^
  37. %.asm: %.c $(headers)
  38. $(CC) $(CFLAGS) $(defs) -c $< -o $<.o
  39. @objdump -S $<.o > $@
  40. @rm $<.o
  41. %.o: %.c $(headers)
  42. @echo [ $@ ]
  43. @$(CC) $(CFLAGS) $(defs) -c $< -o $@
  44. %.e: %.c $(headers)
  45. @echo [ $@ ]
  46. @$(CC) $(CFLAGS) $(defs) -E $< -o $@
  47. %.o: %.S $(headers)
  48. @echo [ $@ ]
  49. @$(AS) $(ASFLAGS) $(defs) -c $< -o $@
  50. %.e: %.S $(headers)
  51. @echo [ $@ ]
  52. @$(AS) $(ASFLAGS) $(defs) -E $< -o $@
  53. clean:
  54. rm -f $(addsuffix .o,$(objs)) $(host_target)