Makefile 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. CC = gcc
  2. AS = gcc
  3. AR = ar rcs
  4. CFLAGS = -Wall -fPIC -O2 -std=gnu99 -fgnu89-inline -Wall -U_FORTIFY_SOURCE \
  5. -fno-builtin -I. -I../.. -I../../../include -I../../../lib
  6. ASFLAGS = -DPIC -DSHARED -fPIC -DASSEMBLER -Wa,--noexecstack \
  7. -x assembler-with-cpp \
  8. -I. -I../.. -I../../../include
  9. ARFLAGS =
  10. host_target = libpal-Skeleton.a
  11. defs = -DIN_PAL
  12. objs = $(addprefix db_,files devices pipes sockets streams memory threading \
  13. semaphore events process object main rtld misc ipc exception)
  14. graphene_lib = ../../../lib/graphene-lib.a
  15. headers = $(wildcard *.h) $(wildcard ../../*.h) $(wildcard ../../../lib/*.h)
  16. all: $(host_target)
  17. ifeq ($(DEBUG),1)
  18. CC += -gdwarf-2 -g3
  19. CFLAGS += -DDEBUG
  20. export DEBUG
  21. endif
  22. ../../host_endian.h: host_endian.h
  23. $(MAKE) -C ../../ $<
  24. libpal-Skeleton.a: $(addsuffix .o,$(objs)) $(graphene_lib)
  25. @echo [ host/$(OS)/$@ ]
  26. @$(AR) $(ARFLAGS) $@ $^
  27. %.asm: %.c $(headers)
  28. $(CC) $(CFLAGS) $(defs) -c $< -o $<.o
  29. @objdump -S $<.o > $@
  30. @rm $<.o
  31. %.o: %.c $(headers)
  32. @echo [ host/$(OS)/$@ ]
  33. @$(CC) $(CFLAGS) $(defs) -c $< -o $@
  34. %.o: %.S $(headers)
  35. @echo [ host/$(OS)/$@ ]
  36. @$(AS) $(ASFLAGS) $(defs) -c $< -o $@
  37. clean:
  38. rm -f $(addsuffix .o,$(objs)) $(host_target)