Skip to content
This repository has been archived by the owner on Feb 21, 2023. It is now read-only.

How to store dependency data? #2

Closed
2 tasks done
matheusmoreira opened this issue Mar 14, 2019 · 2 comments
Closed
2 tasks done

How to store dependency data? #2

matheusmoreira opened this issue Mar 14, 2019 · 2 comments
Assignees
Labels
build Build system issues

Comments

@matheusmoreira
Copy link
Owner

matheusmoreira commented Mar 14, 2019

The build directory is the ideal location. What is the best way to organize this data?

  • Decide on the directory structure for the dependency data
  • Make the build system create the directory structure
@matheusmoreira matheusmoreira created this issue from a note in Automated file dependency tracking (TODO) Mar 14, 2019
@matheusmoreira matheusmoreira moved this from TODO to In progress in Automated file dependency tracking Mar 14, 2019
@matheusmoreira matheusmoreira self-assigned this Mar 14, 2019
@matheusmoreira matheusmoreira added the build Build system issues label Mar 14, 2019
@matheusmoreira
Copy link
Owner Author

matheusmoreira commented Mar 14, 2019

A dependencies directory in the build root makes sense. Its contents would mirror the structure of the source and include directories.

build
└── x86_64
    ├── dependencies
    │   ├── include
    │   │   └── liblinux
    │   │       ├── definitions.d
    │   │       ├── system_call.d
    │   │       └── ...
    │   └── source
    │       └── system_calls
    │           ├── read.d
    │           ├── write.d
    │           └── ...
    └── objects
        ├── dynamic
        │   └── system_calls
        │       ├── read.o
        │       ├── write.o
        │       └── ...
        └── static
            └── system_calls
                ├── read.o
                ├── write.o
                └── ...

@matheusmoreira
Copy link
Owner Author

The directories phony target creates the build tree:

phony_targets += directories
directories:
	mkdir -p $(sort $(dir $(objects) $(targets)))

This functionality must be changed in order to create the dependencies tree. The obvious way to do this is to include each generated dependency file in the targets list.

Automated file dependency tracking automation moved this from In progress to Completed Mar 21, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
build Build system issues
Projects
No open projects
Development

No branches or pull requests

1 participant