MAKECMD=gmake

ifndef "CFG"
CFG=release
endif

# global
ROOT=../..
BIN=$(ROOT)/bin

PLATFORMDIR=$(BIN)/$(OS)/$(PM)
APPOUTDIR=$(PLATFORMDIR)/demo
OUTDIR=$(APPOUTDIR)/$(CFG)

# output filename
LIBFILE=libarclib64.a
OUTFILE=$(OUTDIR)/demo64


ifeq "$(PM)" "32/u"
LIBFILE=libarclib32.a
OUTFILE=$(OUTDIR)/demo32

endif



PUBLIC_INC=$(ROOT)/include
INCLUDE=-I"$(PUBLIC_INC)"

ifeq "$(CFG)" "release"
CFG_INC=
CFG_LIB=$(PLATFORMDIR)/release/$(LIBFILE)
CFG_OBJ=
COMMON_OBJ=$(OUTDIR)/demo.o $(OUTDIR)/demo_hba.o
OBJ=$(COMMON_OBJ) $(CFG_OBJ)

COMPILE=g++ -c  -D_REENTRANT $(CFLAGS) $(INCLUDE) -o "$(OUTDIR)/$(*F).o" $(CFG_INC) "$<"
LINK=g++ -o "$(OUTFILE)" $(OBJ) $(LDFLAGS) $(CFG_LIB) -lIOKit

# Pattern rules
$(OUTDIR)/%.o : $(ROOT)/apps/demo/%.cpp
	$(COMPILE)

# Build rules
all: $(OUTFILE)

$(OUTFILE): $(OUTDIR)  $(OBJ)
	$(LINK)

$(OUTDIR):
	mkdir -p "$(OUTDIR)"

# Rebuild this project
rebuild: cleanall all

# Clean this project
clean:
	rm -f $(OUTFILE)
	rm -f $(OBJ)

# Clean this project and all dependencies
cleanall: clean
endif
