Makefile 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. subdirs = inline native apps
  2. CC = gcc
  3. CXX = g++
  4. CFLAGS = -std=gnu99 -I$(level)../include
  5. CFLAGS-debug = $(CFLAGS) -I$(level)../../../Pal/lib \
  6. -I$(level)../../../Pal/include/pal
  7. LDFLAGS =
  8. LDFLAGS-debug = $(LDFLAGS) -L$(level)../src -L$(level)../../../Pal/src \
  9. -lpal -lsysdb_debug
  10. libs = $(level)../src/libsysdb_debug.so $(level)../../../Pal/src/libpal.so
  11. glibc_dir = $(level)../../build
  12. all: $(targets) $(if $(level),,build-subdirs)
  13. debug: DEBUG=debug
  14. debug: CC=gcc -g
  15. debug: CXX=g++ -g
  16. debug: $(targets) $(if $(level),,build-subdirs)
  17. $(subdirs): %:
  18. cd $@ && make
  19. manifest: manifest.template
  20. rm -rf $@
  21. cp $@.template $@
  22. pal:
  23. [ ! -f $(level)../../../Pal/src/pal ] || ln -sf $(level)../../../Pal/src/pal pal
  24. pal_sec:
  25. [ ! -f $(level)../../../Pal/src/pal_sec ] || ln -sf $(level)../../../Pal/src/pal_sec pal_sec
  26. # Regression Test
  27. rtest: $(rtarget)
  28. for d in $(rtarget); \
  29. do \
  30. make run-$$d || return $$?; \
  31. done
  32. .PHONY: test rtest clean
  33. $(patsubst %,run-%,$(rtarget)): run-%: %
  34. @echo [ run $< $(value arg-$<) ]
  35. @./libpal.so $< $(value arg-$<) > OUTPUT 2> ERROR
  36. @$(value test-$<)
  37. @rm -rf OUTPUT ERROR
  38. clean: $(clean-extra) $(if $(level),,clean-subdirs)
  39. rm -rf $(targets)
  40. build-subdirs:
  41. for f in $(subdirs); do (cd $$f; make $(DEBUG); cd ..); done
  42. clean-subdirs:
  43. for f in $(subdirs); do (cd $$f; make clean; cd ..); done