| ##===- Makefile.f2c ----------------------------------------*- Makefile -*-===## | |
| # | |
| # The LLVM Compiler Infrastructure | |
| # | |
| # This file is distributed under the University of Illinois Open Source | |
| # License. See LICENSE.TXT for details. | |
| # | |
| #===------------------------------------------------------------------------===# | |
| # | |
| # Enable running Fortran programs with LLVM by using f2c to convert to C and | |
| # link with libf2c, but only until we have a Fortran front-end. | |
| # | |
| ##===----------------------------------------------------------------------===## | |
| # FIXME: This would be autoconf'd | |
| include $(LEVEL)/Makefile.config | |
| # Make sure the correct targets come first. | |
| ifdef TEST | |
| test:: | |
| else | |
| all:: | |
| endif | |
| ifneq ($(USE_F2C),1) | |
| all test:: | |
| echo "The f2c program was not found" | |
| exit 1 | |
| endif | |
| .PRECIOUS: %.c | |
| clean:: | |
| rm -f $(Source:%.f=%.c) | |
| %.c: %.f | |
| $(F2C) $< > /dev/null 2>&1 | |
| CPPFLAGS = -I$(F2C_INC) | |
| LDFLAGS += -L$(F2C_LIB) -lf2c | |
| # 'main' is defined in the f2c runtime library. The function exported from the | |
| # program is named MAIN__ | |
| EXTRA_LINKTIME_OPT_FLAGS += -internalize-public-api-list=MAIN__ |