packages feed

GLUT-2.5.0.0: examples/examples.mk

ALL_DIRS         := $(SUBDIRS:%=all-%)
CLEAN_DIRS       := $(SUBDIRS:%=clean-%)
HC               := ghc
HC_FLAGS         := -v0 -Wall
HC_PATH_FLAGS    := $(HC_SEARCH_PATHS:%=-i%)
HS_SOURCES       := $(wildcard *.hs)
HS_PROG_SOURCES  := $(filter-out $(EXCLUDED_SOURCES), $(HS_SOURCES))
HS_PROGS         := $(HS_PROG_SOURCES:.hs=)

.PHONY: all $(ALL_DIRS) all-common clean $(CLEAN_DIRS) foo

all: $(ALL_DIRS) $(HS_PROGS)

$(ALL_DIRS): all-common
	$(MAKE) -C $(@:all-%=%) all

all-common:
ifneq ($(wildcard common),)
	$(MAKE) -C common all
endif

clean: $(CLEAN_DIRS)
ifneq ($(wildcard common),)
	$(MAKE) -C common clean
endif
ifneq ($(HS_SOURCES),)
	$(RM) $(HS_SOURCES:.hs=.hi) $(HS_SOURCES:.hs=.o) $(HS_PROG_SOURCES:.hs=.exe) $(HS_PROGS) $(wildcard *~)
endif

$(CLEAN_DIRS): 
	$(MAKE) -C $(@:clean-%=%) clean

$(HS_PROGS): %: %.hs
	$(HC) $(HC_FLAGS) $(HC_PATH_FLAGS) $(EXTRA_HC_FLAGS) $<

%.o: %.hs
	$(HC) $(HC_FLAGS) $(HC_PATH_FLAGS) $(EXTRA_HC_FLAGS) $<