/wsu/tools/simx/simx/python/simx/act/mig/Makefile

https://github.com/tyll/tinyos-2.x-contrib · Makefile · 57 lines · 39 code · 18 blank · 0 comment · 0 complexity · 4d8c771ed6a38b972c7ed05531430857 MD5 · raw file

  1. MIG=mig
  2. NCG=ncg
  3. MIG_SRC = $(shell dirname `pwd`)/React.h
  4. MESSAGES = ReactBase ReactCmdBase ReactNodeInfo ReactReply
  5. MESSAGES += ReactLink ReactProbe
  6. MESSAGES += ReactBindWatchBase ReactWatch
  7. MESSAGES += TimeEvent
  8. JAVA_DEST=java/mig
  9. PYTHON_DEST=python
  10. PYTHON_FILES = $(MESSAGES:%=$(PYTHON_DEST)/%.py)
  11. JAVA_FILES = $(MESSAGES:%=$(JAVA_DEST)/%Msg.java)
  12. CONSTANTS = MAX_REACT_PAYLOAD
  13. CONSTANTS += RESULT_SUCCESS RESULT_FAILURE RESULT_PARTIAL RESULT_UNSOLICITED
  14. CONSTANTS += REFINE_NORMAL REFINE_INFO REFINE_WARN REFINE_ERROR \
  15. REFINE_FATAL REFINE_DEBUG
  16. CONSTANTS += NODE_ON NODE_INVALID NODE_STALE
  17. CONSTANTS += INVALID_LINK IGNORE_LINK
  18. all: structure $(PYTHON_FILES) $(JAVA_FILES) $(JAVA_DEST)/ReactConst.java $(PYTHON_DEST)/ReactConst.py
  19. clean:
  20. -rm -f __init__.pyc
  21. -rm -f $(JAVA_DEST)/*.java
  22. -rm -f $(PYTHON_DEST)/*.{py,pyc}
  23. structure: $(JAVA_DEST) $(PYTHON_DEST)/__init__.py __init__.py
  24. $(JAVA_DEST):
  25. mkdir -p $(JAVA_DEST)
  26. __init__.py:
  27. touch __init__.py
  28. $(PYTHON_DEST)/__init__.py: $(PYTHON_DEST)
  29. touch $(PYTHON_DEST)/__init__.py
  30. $(PYTHON_DEST):
  31. mkdir -p $(PYTHON_DEST)
  32. $(JAVA_DEST)/ReactConst.java: $(MIG_SRC)
  33. $(NCG) -java-classname=simx.mig.ReactConst -o $@ java $(MIG_SRC) $(CONSTANTS)
  34. $(PYTHON_DEST)/ReactConst.py: $(MIG_SRC)
  35. $(NCG) -python-classname=ReactConst -o $@ python $(MIG_SRC) $(CONSTANTS)
  36. $(JAVA_FILES): $(JAVA_DEST)/%Msg.java: $(MIG_SRC)
  37. $(MIG) java $(MIG_SRC) `perl -e 'print join('_', map "\L$$_", split /(?<=[a-z])(?=[A-Z])/, q/$*/)'` -java-classname=simx.mig.$*Msg -o $@
  38. $(PYTHON_FILES): $(PYTHON_DEST)/%.py: $(MIG_SRC)
  39. $(MIG) python $(MIG_SRC) `perl -e 'print join('_', map "\L$$_", split /(?<=[a-z])(?=[A-Z])/, q/$*/)'` -python-classname=Msg -o $(PYTHON_DEST)/$*.py