# HG changeset patch # User Paul Boddie # Date 1647467086 -3600 # Node ID fc8ebfa6ba5d4c3871903d210ccaaebb29c626cc # Parent 758a64edfae70264b56dfbe60cac1f23a0886635 Build library files in a separate directory when building the e2access tool. diff -r 758a64edfae7 -r fc8ebfa6ba5d libe2access/host/Makefile --- a/libe2access/host/Makefile Tue Mar 15 23:38:30 2022 +0100 +++ b/libe2access/host/Makefile Wed Mar 16 22:44:46 2022 +0100 @@ -19,6 +19,7 @@ INC = ../include/e2access SRC = ../lib/src +OBJECTS = objects # Tool definitions. @@ -51,12 +52,11 @@ TEST_REMOVE_SRC = test_remove.c TEST_REMOVE_OBJ = $(TEST_REMOVE_SRC:.c=.o) -LIBE2ACCESS_SRC_ORIG = format.c image.c path.c utils.c +LIBE2ACCESS_SRC = format.c image.c path.c utils.c +LIBE2ACCESS_SRC_MOVED = $(foreach FILE,$(LIBE2ACCESS_SRC),$(OBJECTS)/$(FILE)) +LIBE2ACCESS_OBJ = $(LIBE2ACCESS_SRC_MOVED:.c=.o) -LIBE2ACCESS_SRC = $(foreach FILE,$(LIBE2ACCESS_SRC_ORIG),$(SRC)/$(FILE)) -LIBE2ACCESS_OBJ = $(LIBE2ACCESS_SRC:.c=.o) - -ALL_OBJ = $(E2ACCESS_OBJ) $(LIBE2ACCESS_OBJ) $(TEST_LISTING_OBJ) $(TEST_REMOVE_OBJ) +ALL_OBJ = $(E2ACCESS_OBJ) $(LIBE2ACCESS_SRC_MOVED) $(LIBE2ACCESS_OBJ) $(TEST_LISTING_OBJ) $(TEST_REMOVE_OBJ) # Rules. @@ -65,7 +65,8 @@ all: $(TARGETS) clean: - rm -f $(ALL_OBJ) $(TARGETS) + -rm -f $(ALL_OBJ) $(TARGETS) + -rmdir $(OBJECTS) distclean: clean echo "Nothing else to clean." @@ -86,5 +87,11 @@ $(TEST_REMOVE): $(TEST_REMOVE_OBJ) $(LIBE2ACCESS_SHARED) $(CC) $(LDFLAGS) $(TEST_REMOVE_OBJ) -o $@ +$(LIBE2ACCESS_SRC_MOVED): | $(OBJECTS) + cp -f $(SRC)/$(notdir $@) $@ + +$(OBJECTS): + mkdir -p $(OBJECTS) + .c.o: $(CC) -c $(CFLAGS) $< -o $@