Makefile 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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. .PHONY: all
  17. all: $(host_target)
  18. ifeq ($(DEBUG),1)
  19. CC += -gdwarf-2 -g3
  20. CFLAGS += -DDEBUG
  21. export DEBUG
  22. endif
  23. ../../host_endian.h: host_endian.h
  24. $(MAKE) -C ../../ $<
  25. libpal-Skeleton.a: $(addsuffix .o,$(objs)) $(graphene_lib)
  26. @echo [ host/$(PAL_HOST)/$@ ]
  27. @$(AR) $(ARFLAGS) $@ $^
  28. %.asm: %.c $(headers)
  29. $(CC) $(CFLAGS) $(defs) -c $< -o $<.o
  30. @objdump -S $<.o > $@
  31. @rm $<.o
  32. %.o: %.c $(headers)
  33. @echo [ host/$(PAL_HOST)/$@ ]
  34. @$(CC) $(CFLAGS) $(defs) -c $< -o $@
  35. %.o: %.S $(headers)
  36. @echo [ host/$(PAL_HOST)/$@ ]
  37. @$(AS) $(ASFLAGS) $(defs) -c $< -o $@
  38. .PHONY: clean
  39. clean:
  40. rm -f $(addsuffix .o,$(objs)) $(host_target)