
# Config

PACKAGE_NAME=kos32-tcc
VERSION = 0.9.26-1
Maintainer = Egor00f <y.yarin@inbox.ru>
Architecture = amd64
Priority = optional
Section = devel
Depends = libc6
Description = tcc for KolibriOS
Homepage = https://git.kolibrios.org/Egor00f/tcc-package

# Directories

KOLIBRIOS_DIR=kolibrios

BUILD_DIR=build-$(Architecture)


# Utilities

MKDIR=mkdir
CP=cp
RM=rm -rf

# Files list

DEBIAN_FILES = \
	$(BUILD_DIR)/DEBIAN/control

PACKAGE_FILES = \
	$(BUILD_DIR)/usr/bin/kos32-tcc


ALL_PACKAGES = \
	i386

default: $(ALL_PACKAGES)

# Rules

## Depends

### TCC

TCC_DIR = kolibrios/programs/develop/ktcc/source

$(TCC_DIR)/tcc.c $(TCC_DIR)/libtcc.c: 
	git submodule update --init --recursive

TCC_BIN = kos32-tcc-$(Architecture)

$(TCC_BIN): $(TCC_DIR)/tcc.c $(TCC_DIR)/libtcc.c
	$(CC) -DTCC_TARGET_MEOS_LINUX $(CFLAGS) $(LDFLAGS) $^ -o $@

## dirs

$(BUILD_DIR):
	$(MKDIR) $@

$(BUILD_DIR)/DEBIAN: | $(BUILD_DIR)
	$(MKDIR) $@

$(BUILD_DIR)/usr: | $(BUILD_DIR)
	$(MKDIR) $@

$(BUILD_DIR)/usr/bin: | $(BUILD_DIR)/usr
	$(MKDIR) $@


# Files

$(BUILD_DIR)/DEBIAN/control: $(PACKAGE_FILES) Makefile | $(BUILD_DIR)/DEBIAN
	echo "Package: $(PACKAGE_NAME)" > $@
	echo "Version: $(VERSION)" >> $@
	echo "Maintainer: $(Maintainer)" >> $@
	echo "Architecture: $(Architecture)" >> $@
	echo "Section: $(Section)" >> $@
	echo "Depends: $(Depends)" >> $@
	echo "Homepage: $(Homepage)" >> $@
	echo "Installed-Size: $(shell du -sk --exclude=DEBIAN "$(BUILD_DIR)" | cut -f1)" >> $@
	echo "Description: $(Description)" >> $@


$(BUILD_DIR)/usr/bin/kos32-tcc: $(TCC_BIN) Makefile | $(BUILD_DIR)/usr/bin
	$(CP) $< $@


# Debian packages

$(PACKAGE_NAME)-$(Architecture).deb: $(DEBIAN_FILES) $(PACKAGE_FILES) Makefile | $(BUILD_DIR)
	dpkg-deb --root-owner-group --build $(BUILD_DIR) $@

#amd64: Makefile
#	$(MAKE) "CC=x86_64-linux-gnu-gcc" "Architecture=$@" $(PACKAGE_NAME)-$@.deb

i386: Makefile
	$(MAKE) "CC=x86_64-linux-gnu-gcc -m32" "Architecture=$@" $(PACKAGE_NAME)-$@.deb





clean: 
	$(RM) $(BUILD_DIR)/* 


.PHONY: clean amd64 i386
