1.1 --- a/libe2access/host/Makefile Tue Mar 15 23:38:30 2022 +0100
1.2 +++ b/libe2access/host/Makefile Wed Mar 16 22:44:46 2022 +0100
1.3 @@ -19,6 +19,7 @@
1.4
1.5 INC = ../include/e2access
1.6 SRC = ../lib/src
1.7 +OBJECTS = objects
1.8
1.9 # Tool definitions.
1.10
1.11 @@ -51,12 +52,11 @@
1.12 TEST_REMOVE_SRC = test_remove.c
1.13 TEST_REMOVE_OBJ = $(TEST_REMOVE_SRC:.c=.o)
1.14
1.15 -LIBE2ACCESS_SRC_ORIG = format.c image.c path.c utils.c
1.16 +LIBE2ACCESS_SRC = format.c image.c path.c utils.c
1.17 +LIBE2ACCESS_SRC_MOVED = $(foreach FILE,$(LIBE2ACCESS_SRC),$(OBJECTS)/$(FILE))
1.18 +LIBE2ACCESS_OBJ = $(LIBE2ACCESS_SRC_MOVED:.c=.o)
1.19
1.20 -LIBE2ACCESS_SRC = $(foreach FILE,$(LIBE2ACCESS_SRC_ORIG),$(SRC)/$(FILE))
1.21 -LIBE2ACCESS_OBJ = $(LIBE2ACCESS_SRC:.c=.o)
1.22 -
1.23 -ALL_OBJ = $(E2ACCESS_OBJ) $(LIBE2ACCESS_OBJ) $(TEST_LISTING_OBJ) $(TEST_REMOVE_OBJ)
1.24 +ALL_OBJ = $(E2ACCESS_OBJ) $(LIBE2ACCESS_SRC_MOVED) $(LIBE2ACCESS_OBJ) $(TEST_LISTING_OBJ) $(TEST_REMOVE_OBJ)
1.25
1.26 # Rules.
1.27
1.28 @@ -65,7 +65,8 @@
1.29 all: $(TARGETS)
1.30
1.31 clean:
1.32 - rm -f $(ALL_OBJ) $(TARGETS)
1.33 + -rm -f $(ALL_OBJ) $(TARGETS)
1.34 + -rmdir $(OBJECTS)
1.35
1.36 distclean: clean
1.37 echo "Nothing else to clean."
1.38 @@ -86,5 +87,11 @@
1.39 $(TEST_REMOVE): $(TEST_REMOVE_OBJ) $(LIBE2ACCESS_SHARED)
1.40 $(CC) $(LDFLAGS) $(TEST_REMOVE_OBJ) -o $@
1.41
1.42 +$(LIBE2ACCESS_SRC_MOVED): | $(OBJECTS)
1.43 + cp -f $(SRC)/$(notdir $@) $@
1.44 +
1.45 +$(OBJECTS):
1.46 + mkdir -p $(OBJECTS)
1.47 +
1.48 .c.o:
1.49 $(CC) -c $(CFLAGS) $< -o $@