mirror of
https://github.com/open-simh/simtools.git
synced 2026-01-14 23:55:09 +00:00
The top and second level Makefiles that build the whole project by recursing into all their subdirectories had implemented these by long lists of invocations and then repeated these for all the all, clean, install, uninstall targets. There were mistakes such as some subdirectories not being cleaned. Introduce SUBDIRS variables instead and have the targets loop over those and additionally implement the clean, install, uninstall targets with a single rule.
22 lines
631 B
Makefile
22 lines
631 B
Makefile
# all of these can be over-ridden on the "make" command line if they don't suit your environment.
|
|
|
|
CFLAGS=-O2 -Wall -Wshadow -Wextra -pedantic -Woverflow -Wstrict-overflow
|
|
BIN=/usr/local/bin
|
|
INSTALL=install
|
|
CC=gcc
|
|
|
|
SUBDIRS=hpasm macro1 macro7 macro8x
|
|
|
|
.PHONY: all clean install uninstall
|
|
|
|
# Omitted: macro11: needs more complicated Makefiles.
|
|
all:
|
|
for subdir in $(SUBDIRS); do \
|
|
$(MAKE) -C $$subdir CFLAGS="$(CFLAGS)" BIN="$(BIN)" INSTALL="$(INSTALL)" CC="$(CC)"; \
|
|
done
|
|
|
|
clean install uninstall:
|
|
for subdir in $(SUBDIRS); do \
|
|
$(MAKE) -C $$subdir CFLAGS="$(CFLAGS)" BIN="$(BIN)" INSTALL="$(INSTALL)" CC="$(CC)" $@; \
|
|
done
|