paul@155 | 1 | PKGDIR ?= . |
paul@155 | 2 | L4DIR ?= $(PKGDIR)/../../.. |
paul@155 | 3 | |
paul@238 | 4 | E2ACCESS_DIR = $(PKGDIR)/../libe2access/host |
paul@155 | 5 | TARGET = $(PKGDIR)/../conf/e2test.fs |
paul@155 | 6 | |
paul@376 | 7 | REQUIRES_LIBS = libc libstdc++ libexec libipc |
paul@376 | 8 | |
paul@155 | 9 | include $(L4DIR)/mk/Makeconf |
paul@378 | 10 | |
paul@378 | 11 | # Attempt to define system details manually, since the following will not work |
paul@378 | 12 | # until a complete build has been performed. |
paul@378 | 13 | # |
paul@378 | 14 | #include $(OBJ_BASE)/l4defs.mk.inc |
paul@378 | 15 | |
paul@378 | 16 | L4_SYSTEM = $(BUILD_ARCH)_$(CPU) |
paul@308 | 17 | |
paul@605 | 18 | FS_SCRIPT = $(PKGDIR)/mk_e2test.sh |
paul@605 | 19 | |
paul@308 | 20 | PROGRAMS_DIR = $(PKGDIR_OBJ)/programs/OBJ-$(L4_SYSTEM)-l4f |
paul@522 | 21 | PROGRAMS = $(foreach PROGRAM,$(wildcard $(PROGRAMS_DIR)/*),$(if $(shell test -x $(PROGRAM) && echo "Y"),$(PROGRAM),)) |
paul@155 | 22 | |
paul@376 | 23 | LIBEXEC_DIR = $(PKGDIR)/../libexec |
paul@376 | 24 | RM_PROGRAM_DIR = $(call absfilename,$(OBJ_DIR)/$(LIBEXEC_DIR))/rm/OBJ-$(L4_SYSTEM)-l4f |
paul@376 | 25 | RM_PROGRAM = $(RM_PROGRAM_DIR)/exec_region_mapper |
paul@376 | 26 | |
paul@155 | 27 | # Special rules to build the test filesystem. |
paul@155 | 28 | |
paul@313 | 29 | all:: $(TARGET) $(PROGRAMS_DIR) |
paul@155 | 30 | |
paul@605 | 31 | $(TARGET): $(PROGRAMS_DIR) $(RM_PROGRAM) $(FS_SCRIPT) |
paul@361 | 32 | $(MAKE) -C $(E2ACCESS_DIR) && \ |
paul@605 | 33 | $(FS_SCRIPT) -q $(PKGDIR) $(E2ACCESS_DIR) $@ \ |
paul@522 | 34 | $(PROGRAMS) \ |
paul@376 | 35 | $(RM_PROGRAM) |
paul@308 | 36 | |
paul@313 | 37 | $(PROGRAMS_DIR): $(PKGDIR)/programs/*.c* |
paul@361 | 38 | $(MAKE) -C $(PKGDIR)/programs $(MKFLAGS) && \ |
paul@308 | 39 | touch $@ |