Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Convert make scripts (mkpkg.sh) into Makefiles #266

Merged
merged 15 commits into from
Mar 25, 2023

Conversation

olebole
Copy link
Member

@olebole olebole commented Mar 19, 2023

This concentrates all settings required to do the build in the Makefile itself, and removes any dependency of a specific shell. At some later point, we may add a make install, which could install IRAF to a standard place (like /usr/local/lib/iraf, removing the need of the ./install script, and making IRAF much more conform to todays standard installation procedures.

Available targets:

  • make all (or make sysgen); default - build the full system. Steps:
    • make arch - Prepare the system for the given architecture
    • make bindirs - Create directories to hold the binaries.
    • make novos - Bootstrap first stage: build tools without the Virtual Operating System (VOS)
    • make host - Create VOS and rebuild the build tools
    • make vendor - Build the 2rd party libs (votable, cfitsio)
    • make core - Build the core package system
    • make noao - Build the NOAO package
  • make clean - removes all binaries, object files, and copied include files
  • make test - Run the test suite

The change also makes it possible to compile IRAF without architecture specific bindirs, i.e. directly to bin, unix/bin, noao/bin, by invoking with a defined but empty IRAFARCH, i.e. IRAFARCH= make

Proposed roadmap:

  • make install - Install IRAF to the standard system place (/usr/local/lib); should be configurable (f.e. prefix=/opt)
  • make config - Configure the current place for local use (replaced the ./install script)

Drawbacks: mkpkg does not build the vendor packages anymore (but make does)

@olebole olebole force-pushed the makefiles branch 18 times, most recently from 5987b10 to 8b33ee2 Compare March 21, 2023 12:51
A simple build now can be done with

    IRAFARCH= make
Run mkfloat directly if needed
@olebole olebole merged commit 0d3a84e into iraf-community:main Mar 25, 2023
@olebole olebole deleted the makefiles branch March 25, 2023 16:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

1 participant