Skip to content
Snippets Groups Projects
Commit 60151056 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 497238e4
No related branches found
No related tags found
No related merge requests found
...@@ -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