#*****************************CONFIGURATION*********************************
#change this lines if you want to use a different SBM than which is supplied
OWNBM=0
BMDIR=/path/to/btmgr
#turn this on if you want a binary which can run on every linux systems.
#this may be 300K and may be slower
#STATIC=-static
#***********END************DO NOT CHANGE ANYTHING ABOVE THAT LINE***********

#this versions is good for all versions of sbm 3.6
#for later or earlier releases this configurator can't be used
VERSIONS=-DSBMK_VERSION=0x0306 -DSBMT_VERSION=0x0306 -DSBML_VERSION=0x0301
CC=gcc
#CFLAGS=-Wall -Werror -O3 -D_GNU_SOURCE -D_LARGEFILE64_SOURCE $(VERSIONS)
#LDFLAGS=-Wall -Werror -O3 $(STATIC)
CFLAGS=-Wall -Werror -D_GNU_SOURCE -D_LARGEFILE64_SOURCE $(VERSIONS)
LDFLAGS=-Wall -Werror $(STATIC)
OBJECTS=build/bmconf.o build/partls.o build/utils.o build/bmrw.o\
	build/list.o build/remove.o build/add.o build/defrag.o\
	build/chdefault.o build/delay.o build/autoactive.o\
	build/autohide.o build/parttypes.o build/noautoscan.o\
	build/install.o build/passcreator.o build/password.o\
	build/schedule.o build/seclock.o build/directboot.o\
	build/remlast.o build/config.o build/trim.o build/int13.o\
	build/swapdriveid.o build/style.o

.PHONY: src/ownconvert/convert clean bmbins bmincs

all: bmconf

bmconf: $(OBJECTS)
	gcc $(LDFLAGS) -o $@ $^

clean:
	rm -f build/* bmconf
	cd src/ownconvert && make clean
ifeq ($(OWNBM),1)
	cd $(BMDIR)/manager && make clean
endif
	rm -f src/ownconvert/*.h

binclean:
	rm -f build/* bmconf
	cd src/ownconvert && make clean
	cd $(BMDIR)/manager && make clean
	rm -f src/bins/*
	rm -f src/ownconvert/*.h

ifeq ($(OWNBM),1)
build/install.o: src/install.c src/*.h bmincs
	gcc $(CFLAGS) -c -o $@ $<
else
build/install.o: src/install.c src/*.h
	gcc $(CFLAGS) -c -o $@ $<
endif

build/%.o: src/%.c src/*.h
	gcc $(CFLAGS) -c -o $@ $<

src/ownconvert/convert:
	cd src/ownconvert && make

bmbins:
	cd $(BMDIR)/manager && make 

bmincs: src/ownconvert/convert bmbins
	cd src/ownconvert && ./convert $(BMDIR)/release
	cp src/ownconvert/*.h src/bins/
	rm -f src/ownconvert/*.h
	cd src/ownconvert && make clean
