#BASEDIR=$(PWD) BASEDIR=. OBJDIR=$(BASEDIR)/objdir COMPONENTS=data biz forms SUBDIRS=core $(COMPONENTS) apps CORE=$(basename $(wildcard core/*.prg)) APPS=$(basename $(wildcard apps/*.prg)) COMP=$(basename $(foreach X,$(COMPONENTS),$(wildcard $(X)/*.prg))) COREOBJS=$(addprefix $(OBJDIR)/,$(addsuffix .o,$(CORE))) COMPOBJS=$(addprefix $(OBJDIR)/,$(addsuffix .o,$(COMP))) TARGET=$(addprefix $(OBJDIR)/,$(APPS)) CLIP=/opt/clip/bin/clip CLIPOPT=-Rw -d $(OBJDIR) .PHONY: all init clean test .PRECIOUS: $(COREOBJS) $(COMPOBJS) $(addsuffix .o,$(TARGET)) all: init $(TARGET) test: all $(OBJDIR)/apps/env init: $(addprefix $(OBJDIR)/,$(SUBDIRS)) clean: rm -rvf $(OBJDIR) *.log $(addprefix $(OBJDIR)/,$(SUBDIRS)): mkdir -p $@ $(OBJDIR)/apps/%.o: apps/%.prg $(CLIP) -M $(CLIPOPT) $< $(OBJDIR)/%.o: %.prg $(CLIP) -n $(CLIPOPT) $< %: %.o $(COREOBJS) $(COMPOBJS) $(CLIP) -e $(CLIPOPT) -o $@ $^