Code generator for 16bpp DIB Blt operations
[reactos.git] / reactos / tools / gendib / gendib.mak
diff --git a/reactos/tools/gendib/gendib.mak b/reactos/tools/gendib/gendib.mak
new file mode 100644 (file)
index 0000000..4bd1af5
--- /dev/null
@@ -0,0 +1,51 @@
+GENDIB_BASE = $(TOOLS_BASE_)gendib
+GENDIB_BASE_ = $(GENDIB_BASE)$(SEP)
+GENDIB_INT = $(INTERMEDIATE_)$(GENDIB_BASE)
+GENDIB_INT_ = $(GENDIB_INT)$(SEP)
+GENDIB_OUT = $(OUTPUT_)$(GENDIB_BASE)
+GENDIB_OUT_ = $(GENDIB_OUT)$(SEP)
+
+$(GENDIB_INT): | $(TOOLS_INT)
+       $(ECHO_MKDIR)
+       ${mkdir} $@
+
+ifneq ($(INTERMEDIATE),$(OUTPUT))
+$(GENDIB_OUT): | $(TOOLS_OUT)
+       $(ECHO_MKDIR)
+       ${mkdir} $@
+endif
+
+GENDIB_TARGET = \
+       $(EXEPREFIX)$(GENDIB_OUT_)gendib$(EXEPOSTFIX)
+
+GENDIB_SOURCES = \
+       $(GENDIB_BASE_)gendib.c
+
+GENDIB_OBJECTS = \
+    $(addprefix $(INTERMEDIATE_), $(GENDIB_SOURCES:.c=.o))
+
+GENDIB_HOST_CFLAGS = -g -Werror -Wall
+
+GENDIB_HOST_LFLAGS = -g
+
+$(GENDIB_TARGET): $(GENDIB_OBJECTS) | $(GENDIB_OUT)
+       $(ECHO_LD)
+       ${host_gcc} $(GENDIB_OBJECTS) $(GENDIB_HOST_LFLAGS) -o $@
+
+$(GENDIB_INT_)gendib.o: $(GENDIB_BASE_)gendib.c | $(GENDIB_INT)
+       $(ECHO_CC)
+       ${host_gcc} $(GENDIB_HOST_CFLAGS) -c $< -o $@
+
+.PHONY: gendib_clean
+gendib_clean:
+       -@$(rm) $(GENDIB_TARGET) $(GENDIB_OBJECTS) 2>$(NUL)
+clean: gendib_clean
+
+GENDIB_16BPP_FILE = subsys$(SEP)win32k$(SEP)dib$(SEP)dib16gen.c
+
+GENDIB_DIB_FILES = \
+        $(GENDIB_16BPP_FILE)
+
+$(GENDIB_DIB_FILES): $(GENDIB_TARGET)
+       $(ECHO_GENDIB)
+       $(Q)$(GENDIB_TARGET) $(GENDIB_DIB_FILES)