Skip to content
Snippets Groups Projects
Commit 7c3a1da9 authored by Deucе's avatar Deucе :ok_hand_tone4:
Browse files

Put generated source files in a dedicated output directory.

Win32 rgbmap.s is different than other platforms, so they can't go
into the same place.
parent c6d284b3
No related branches found
No related tags found
1 merge request!463MRC mods by Codefenix (2024-10-20)
Pipeline #4238 failed
...@@ -68,6 +68,7 @@ ...@@ -68,6 +68,7 @@
# OBJODIR - Object output dir # # OBJODIR - Object output dir #
# LIBODIR - Library output dir # # LIBODIR - Library output dir #
# EXEODIR - Executable output dir # # EXEODIR - Executable output dir #
# SRCODIR - Source code output dir #
# DEBUG - Set for debug builds # # DEBUG - Set for debug builds #
# RELEASE - Set for release builds # # RELEASE - Set for release builds #
# One of DEBUG or RELEASE is always set! # # One of DEBUG or RELEASE is always set! #
...@@ -273,6 +274,7 @@ LIBODIR := $(CCPRE).$(machine).lib.$(BUILDPATH) ...@@ -273,6 +274,7 @@ LIBODIR := $(CCPRE).$(machine).lib.$(BUILDPATH)
OBJODIR := $(CCPRE).$(machine).obj.$(BUILDPATH) OBJODIR := $(CCPRE).$(machine).obj.$(BUILDPATH)
MTOBJODIR := $(CCPRE).$(machine).obj.$(BUILDPATH)-mt MTOBJODIR := $(CCPRE).$(machine).obj.$(BUILDPATH)-mt
EXEODIR := $(CCPRE).$(machine).exe.$(BUILDPATH) EXEODIR := $(CCPRE).$(machine).exe.$(BUILDPATH)
SRCODIR := $(CCPRE).$(machine).src.$(BUILDPATH)
LDFLAGS += -L$(LIBODIR) LDFLAGS += -L$(LIBODIR)
ifeq ($(os),openbsd) ifeq ($(os),openbsd)
...@@ -487,6 +489,7 @@ depend: ...@@ -487,6 +489,7 @@ depend:
$(QUIET)$(DELETE) $(MTOBJODIR)/.depend $(QUIET)$(DELETE) $(MTOBJODIR)/.depend
$(QUIET)$(DELETE) $(LIBODIR)/.depend $(QUIET)$(DELETE) $(LIBODIR)/.depend
$(QUIET)$(DELETE) $(EXEODIR)/.depend $(QUIET)$(DELETE) $(EXEODIR)/.depend
$(QUIET)$(DELETE) $(SRCODIR)/.depend
$(QUIET)$(MAKE) BUILD_DEPENDS=FORCE $(QUIET)$(MAKE) BUILD_DEPENDS=FORCE
FORCE: FORCE:
...@@ -495,10 +498,12 @@ FORCE: ...@@ -495,10 +498,12 @@ FORCE:
-include $(OBJODIR)/.depend -include $(OBJODIR)/.depend
-include $(LIBODIR)/.depend -include $(LIBODIR)/.depend
-include $(EXEODIR)/.depend -include $(EXEODIR)/.depend
-include $(SRCODIR)/.depend
-include $(MTOBJODIR)/*.d -include $(MTOBJODIR)/*.d
-include $(OBJODIR)/*.d -include $(OBJODIR)/*.d
-include $(LIBODIR)/*.d -include $(LIBODIR)/*.d
-include $(EXEODIR)/*.d -include $(EXEODIR)/*.d
-include $(SRCODIR)/*.d
$(XPDEV_LIB): xpdev $(XPDEV_LIB): xpdev
xpdev: xpdev:
......
...@@ -16,6 +16,9 @@ $(LIBODIR): ...@@ -16,6 +16,9 @@ $(LIBODIR):
$(EXEODIR): $(EXEODIR):
$(QUIET)$(IFNOTEXIST) mkdir $(EXEODIR) $(QUIET)$(IFNOTEXIST) mkdir $(EXEODIR)
$(SRCODIR):
$(QUIET)$(IFNOTEXIST) mkdir $(SRCODIR)
clean: clean:
clean: clean:
@echo Deleting $(OBJODIR)$(DIRSEP) @echo Deleting $(OBJODIR)$(DIRSEP)
...@@ -26,3 +29,5 @@ clean: ...@@ -26,3 +29,5 @@ clean:
-$(QUIET)$(DELETE) $(LIBODIR)$(DIRSEP)* -$(QUIET)$(DELETE) $(LIBODIR)$(DIRSEP)*
@echo Deleting $(EXEODIR)$(DIRSEP) @echo Deleting $(EXEODIR)$(DIRSEP)
-$(QUIET)$(DELETE) $(EXEODIR)$(DIRSEP)* -$(QUIET)$(DELETE) $(EXEODIR)$(DIRSEP)*
@echo Deleting $(SRCODIR)$(DIRSEP)
-$(QUIET)$(DELETE) $(SRCODIR)$(DIRSEP)*
CIOLIB-MT = $(CIOLIB_SRC)$(DIRSEP)$(LIBODIR)$(DIRSEP)$(LIBPREFIX)ciolib_mt$(LIBFILE) CIOLIB-MT = $(CIOLIB_SRC)$(DIRSEP)$(LIBODIR)$(DIRSEP)$(LIBPREFIX)ciolib_mt$(LIBFILE)
CIOLIB-MT_CFLAGS = -I$(CIOLIB_SRC) CIOLIB-MT_CFLAGS = -I$(CIOLIB_SRC) -I$(CIOLIB_SRC)$(DIRSEP)$(SRCODIR)
CIOLIB-MT_LDFLAGS = -L$(CIOLIB_SRC)$(DIRSEP)$(LIBODIR) CIOLIB-MT_LDFLAGS = -L$(CIOLIB_SRC)$(DIRSEP)$(LIBODIR)
CIOLIB-MT_LIBS = $(UL_PRE)ciolib_mt$(UL_SUF) CIOLIB-MT_LIBS = $(UL_PRE)ciolib_mt$(UL_SUF)
...@@ -3,6 +3,7 @@ SRC_ROOT = .. ...@@ -3,6 +3,7 @@ SRC_ROOT = ..
include $(SRC_ROOT)/build/Common.gmake # defines clean and output directory rules include $(SRC_ROOT)/build/Common.gmake # defines clean and output directory rules
CFLAGS += $(XPDEV-MT_CFLAGS) $(HASH_CFLAGS) $(ENCODE_CFLAGS) $(CIOLIB-MT_CFLAGS) CFLAGS += $(XPDEV-MT_CFLAGS) $(HASH_CFLAGS) $(ENCODE_CFLAGS) $(CIOLIB-MT_CFLAGS)
VPATH = $(SRCODIR)
ifeq ($(os),win32) ifeq ($(os),win32)
ifndef WITHOUT_GDI ifndef WITHOUT_GDI
...@@ -48,7 +49,8 @@ endif ...@@ -48,7 +49,8 @@ endif
# CIOLIB Library Link Rule # CIOLIB Library Link Rule
$(CIOLIB-MT_BUILD): $(MTOBJODIR) $(OBJS) $(CIOLIB_INTERPOLATE_TARGET) $(CIOLIB-MT_BUILD): $(MTOBJODIR) $(OBJS) $(CIOLIB_INTERPOLATE_TARGET) $(MTOBJODIR)$(DIRSEP)rgbmap$(OFILE)
@echo Creating $@ ... @echo Creating $@ ...
$(QUIET)$(AR) rc $@ $(OBJS) $(QUIET)$(AR) rc $@ $(OBJS)
$(QUIET)$(RANLIB) $@ $(QUIET)$(RANLIB) $@
...@@ -69,13 +71,13 @@ endif ...@@ -69,13 +71,13 @@ endif
$(EXEODIR)$(DIRSEP)genmap$(EXEFILE): $(EXEODIR) $(EXEODIR)$(DIRSEP)genmap$(EXEFILE): $(EXEODIR)
rgbmap.s: $(EXEODIR)$(DIRSEP)genmap$(EXEFILE) $(SRCODIR)$(DIRSEP)rgbmap.s: $(EXEODIR)$(DIRSEP)genmap$(EXEFILE) $(SRCODIR)
@echo Creating $@... @echo Creating $@...
$(QUIET)$(EXEODIR)$(DIRSEP)genmap$(EXEFILE) $(os) $(QUIET)$(EXEODIR)$(DIRSEP)genmap$(EXEFILE) $(os) $(SRCODIR)
rgbmap.h: rgbmap.s $(SRCODIR)$(DIRSEP)rgbmap.h: $(SRCODIR)$(DIRSEP)rgbmap.s
$(MTOBJODIR)$(DIRSEP)rgbmap$(OFILE): rgbmap.s rgbmap.h $(MTOBJODIR)$(DIRSEP)rgbmap$(OFILE): $(SRCODIR)$(DIRSEP)rgbmap.s $(SRCODIR)$(DIRSEP)rgbmap.h
$(EXEODIR)$(DIRSEP)genmap$(EXEFILE): genmap.c $(EXEODIR)$(DIRSEP)genmap$(EXEFILE): genmap.c
@echo Compiling $@... @echo Compiling $@...
......
#include <stdio.h> #include <stdio.h>
#include <stdlib.h>
#include <string.h> #include <string.h>
#include <inttypes.h> #include <inttypes.h>
...@@ -56,12 +57,22 @@ init_r2y(void) ...@@ -56,12 +57,22 @@ init_r2y(void)
int int
main(int argc, char **argv) main(int argc, char **argv)
{ {
FILE *s = fopen("rgbmap.s", "w"); FILE *s, *h, *r, *y;
FILE *h = fopen("rgbmap.h", "w"); char path[1024];
FILE *r = fopen("r2y.bin", "wb");
FILE *y = fopen("y2r.bin", "wb");
char *mangle = ""; char *mangle = "";
if (argc != 3) {
fprintf(stderr, "Usage: %s <os> <path>\n", argv[0]);
return EXIT_FAILURE;
}
sprintf(path, "%s/rgbmap.s", argv[2]);
s = fopen(path, "w");
sprintf(path, "%s/rgbmap.h", argv[2]);
h = fopen(path, "w");
sprintf(path, "%s/r2y.bin", argv[2]);
r = fopen(path, "wb");
sprintf(path, "%s/y2r.bin", argv[2]);
y = fopen(path, "wb");
init_r2y(); init_r2y();
if (argc > 1 && strcmp(argv[1], "win32") == 0) if (argc > 1 && strcmp(argv[1], "win32") == 0)
mangle = "_"; mangle = "_";
...@@ -91,5 +102,5 @@ main(int argc, char **argv) ...@@ -91,5 +102,5 @@ main(int argc, char **argv)
fclose(h); fclose(h);
fclose(r); fclose(r);
fclose(y); fclose(y);
return 0; return EXIT_SUCCESS;
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment