I give up, make's "directory target" support has a fatal flaw, converting to "dummy...
authorRoyce Mitchell III <royce3@ev1.net>
Tue, 15 Mar 2005 03:51:11 +0000 (03:51 +0000)
committerRoyce Mitchell III <royce3@ev1.net>
Tue, 15 Mar 2005 03:51:11 +0000 (03:51 +0000)
svn path=/branches/xmlbuildsystem/; revision=14087

17 files changed:
reactos/Makefile
reactos/lib/zlib/zlib.mak
reactos/tools/bin2res/bin2res.mak
reactos/tools/buildno/buildno.mak
reactos/tools/cabman/cabman.mak
reactos/tools/cdmake/cdmake.mak
reactos/tools/nci/nci.mak
reactos/tools/rbuild/automaticdependency.cpp
reactos/tools/rbuild/backend/mingw/modulehandler.cpp
reactos/tools/rbuild/rbuild.mak
reactos/tools/rmkdir.c
reactos/tools/tools.mak
reactos/tools/unicode/unicode.mak
reactos/tools/winebuild/winebuild.mak
reactos/tools/wmc/wmc.mak
reactos/tools/wpp/wpp.mak
reactos/tools/wrc/wrc.mak

index dc8e8cf..7843c79 100644 (file)
@@ -18,6 +18,8 @@
 .PHONY: clean
 all: makefile.auto
 
+.SUFFIXES:
+
 ifeq ($(HOST),)
 ifeq ($(word 1,$(shell gcc -dumpmachine)),mingw32)
 HOST=mingw32-windows
@@ -40,6 +42,7 @@ else
 endif
 endif
 ifeq ($(HALFVERBOSEECHO),yes)
+  ECHO_MKDIR  =@echo [MKDIR]   $@
   ECHO_INVOKE =@echo [INVOKE]  $<
   ECHO_PCH    =@echo [PCH]     $@
   ECHO_CC     =@echo [CC]      $<
@@ -59,6 +62,7 @@ ifeq ($(HALFVERBOSEECHO),yes)
   ECHO_CDMAKE =@echo [CDMAKE]  $@
   ECHO_TEST   =@echo [TEST]    $@
 else
+  ECHO_MKDIR  =
   ECHO_INVOKE =
   ECHO_PCH    =
   ECHO_CC     =
@@ -89,7 +93,7 @@ ifeq ($(HOST),mingw32-linux)
        EXEPREFIX = ./
        EXEPOSTFIX =
        SEP = /
-       nmkdir = $(Q)mkdir -p
+       nmkdir = -$(Q)mkdir -p
        gcc = $(Q)mingw32-gcc
        gpp = $(Q)mingw32-g++
        ld = $(Q)mingw32-ld
@@ -105,7 +109,7 @@ else # mingw32-windows
        EXEPOSTFIX = .exe
        ROS_EMPTY =
        SEP = \$(ROS_EMPTY)
-       nmkdir = $(Q)mkdir
+       nmkdir = -$(Q)mkdir
        gcc = $(Q)gcc
        gpp = $(Q)g++
        ld = $(Q)ld
@@ -134,18 +138,21 @@ else
   OUTPUT_NO_SLASH = obj-i386
 endif
 
-mkdir = $(Q)$(INTERMEDIATE)rmkdir
+mkdir = -$(Q)$(INTERMEDIATE)rmkdir
+EXISTS = .exists
+INTERMEDIATE_EXISTS = $(INTERMEDIATE)$(EXISTS)
 
-$(INTERMEDIATE_NO_SLASH):
+$(INTERMEDIATE_EXISTS):
        ${nmkdir} $(INTERMEDIATE_NO_SLASH)
+       @echo . > $@
 
-NTOSKRNL_MC = .$(SEP)ntoskrnl$(SEP)ntoskrnl.mc
-KERNEL32_MC = .$(SEP)lib$(SEP)kernel32$(SEP)kernel32.mc
-BUILDNO_H = .$(SEP)include$(SEP)reactos$(SEP)buildno.h
-BUGCODES_H = .$(SEP)include$(SEP)reactos$(SEP)bugcodes.h
-BUGCODES_RC = .$(SEP)ntoskrnl$(SEP)bugcodes.rc
-ERRCODES_H = .$(SEP)include$(SEP)reactos$(SEP)errcodes.h
-ERRCODES_RC = .$(SEP)lib$(SEP)kernel32$(SEP)errcodes.rc
+NTOSKRNL_MC = ntoskrnl$(SEP)ntoskrnl.mc
+KERNEL32_MC = lib$(SEP)kernel32$(SEP)kernel32.mc
+BUILDNO_H = include$(SEP)reactos$(SEP)buildno.h
+BUGCODES_H = include$(SEP)reactos$(SEP)bugcodes.h
+BUGCODES_RC = ntoskrnl$(SEP)bugcodes.rc
+ERRCODES_H = include$(SEP)reactos$(SEP)errcodes.h
+ERRCODES_RC = lib$(SEP)kernel32$(SEP)errcodes.rc
 
 include tools/tools.mak
 -include makefile.auto
@@ -160,7 +167,7 @@ PREAUTO := \
 
 makefile.auto: $(RBUILD_TARGET) $(PREAUTO) $(XMLBUILDFILES)
        $(ECHO_RBUILD)
-       $(Q)tools$(SEP)rbuild$(SEP)rbuild$(EXEPOSTFIX) mingw
+       $(Q)$(RBUILD_TARGET) mingw
 
 
 $(BUGCODES_H) $(BUGCODES_RC): $(WMC_TARGET) $(NTOSKRNL_MC)
index 4801572..2a0ab11 100755 (executable)
@@ -2,6 +2,7 @@ ZLIB_BASE = lib$(SEP)zlib
 
 ZLIB_BASE_DIR = $(INTERMEDIATE)$(ZLIB_BASE)
 
+
 #$(ZLIB_BASE_DIR): $(INTERMEDIATE_NO_SLASH) $(RMKDIR_TARGET)
 #      ${mkdir} $(INTERMEDIATE)$(ZLIB_BASE)
 
@@ -9,8 +10,6 @@ ZLIB_HOST_TARGET = \
        $(INTERMEDIATE)$(ZLIB_BASE)$(SEP)zlib.host.a
 
 ZLIB_HOST_SOURCES = \
-       $(ZLIB_BASE)$(SEP)cdmake.c \
-       $(ZLIB_BASE)$(SEP)llmosrt.c \
        $(ZLIB_BASE)$(SEP)adler32.c \
        $(ZLIB_BASE)$(SEP)compress.c \
        $(ZLIB_BASE)$(SEP)crc32.c \
@@ -32,6 +31,9 @@ ZLIB_HOST_OBJECTS = \
 ZLIB_HOST_CFLAGS = -MMD -O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
   -Wstrict-prototypes -Wmissing-prototypes
 
+.PHONY: zlib_host
+zlib_host: $(ZLIB_HOST_TARGET)
+
 $(ZLIB_HOST_TARGET): $(ZLIB_HOST_BASE_DIR) $(ZLIB_HOST_OBJECTS)
        $(ECHO_AR)
        $(host_ar) -r $(ZLIB_HOST_TARGET) $(ZLIB_HOST_OBJECTS)
index b1ce0c7..43aaaff 100644 (file)
@@ -1,12 +1,14 @@
-BIN2RES_BASE = tools$(SEP)bin2res
+BIN2RES_BASE = $(TOOLS_BASE)$(SEP)bin2res
 
 BIN2RES_BASE_DIR = $(INTERMEDIATE)$(BIN2RES_BASE)
+BIN2RES_BASE_DIR_EXISTS = $(BIN2RES_BASE_DIR)$(SEP)$(EXISTS)
 
-$(BIN2RES_BASE_DIR): $(INTERMEDIATE_NO_SLASH) $(RMKDIR_TARGET)
-       ${mkdir} $(INTERMEDIATE)$(BIN2RES_BASE)
+$(BIN2RES_BASE_DIR_EXISTS): $(TOOLS_BASE_DIR_EXISTS)
+       ${mkdir} $(BIN2RES_BASE_DIR)
+       @echo . >$(BIN2RES_BASE_DIR_EXISTS)
 
 BIN2RES_TARGET = \
-       $(INTERMEDIATE)$(BIN2RES_BASE)$(SEP)bin2res$(EXEPOSTFIX)
+       $(BIN2RES_BASE_DIR)$(SEP)bin2res$(EXEPOSTFIX)
 
 BIN2RES_SOURCES = \
        $(BIN2RES_BASE)$(SEP)bin2res.c \
@@ -19,11 +21,15 @@ BIN2RES_HOST_CFLAGS = -Iinclude/wine -D__REACTOS__ -g -Werror -Wall
 
 BIN2RES_HOST_LFLAGS = -g
 
-$(BIN2RES_TARGET): $(BIN2RES_BASE_DIR) $(BIN2RES_OBJECTS)
+$(BIN2RES_TARGET): $(BIN2RES_OBJECTS)
        $(ECHO_LD)
-       ${host_gcc} $(BIN2RES_OBJECTS) $(BIN2RES_HOST_LFLAGS) -o $(BIN2RES_TARGET)
+       ${host_gcc} $(BIN2RES_OBJECTS) $(BIN2RES_HOST_LFLAGS) -o $@
 
-$(BIN2RES_OBJECTS): %.o : %.c $(BIN2RES_BASE_DIR)
+$(BIN2RES_BASE_DIR)$(SEP)bin2res.o: $(BIN2RES_BASE)$(SEP)bin2res.c $(BIN2RES_BASE_DIR_EXISTS)
+       $(ECHO_CC)
+       ${host_gcc} $(BIN2RES_HOST_CFLAGS) -c $< -o $@
+
+$(BIN2RES_BASE_DIR)$(SEP)mkstemps.o: $(BIN2RES_BASE)$(SEP)mkstemps.c $(BIN2RES_BASE_DIR_EXISTS)
        $(ECHO_CC)
        ${host_gcc} $(BIN2RES_HOST_CFLAGS) -c $< -o $@
 
index c440c48..0a9109b 100644 (file)
@@ -1,12 +1,15 @@
-BUILDNO_BASE = tools$(SEP)buildno
+BUILDNO_BASE = $(TOOLS_BASE)$(SEP)buildno
 
 BUILDNO_BASE_DIR = $(INTERMEDIATE)$(BUILDNO_BASE)
+BUILDNO_BASE_DIR_EXISTS = $(BUILDNO_BASE_DIR)$(SEP)$(EXISTS)
 
-$(BUILDNO_BASE_DIR): $(RMKDIR_TARGET)
-       ${mkdir} $@
+$(BUILDNO_BASE_DIR_EXISTS): $(TOOLS_BASE_DIR_EXISTS)
+       $(ECHO_MKDIR)
+       ${mkdir} $(BUILDNO_BASE_DIR)
+       @echo. > $@
 
 BUILDNO_TARGET = \
-       $(INTERMEDIATE)$(BUILDNO_BASE)$(SEP)buildno$(EXEPOSTFIX)
+       $(BUILDNO_BASE_DIR)$(SEP)buildno$(EXEPOSTFIX)
 
 BUILDNO_SOURCES = \
        $(BUILDNO_BASE)$(SEP)buildno.cpp \
@@ -21,25 +24,25 @@ BUILDNO_HOST_CFLAGS = -Iinclude/reactos -g -Werror -Wall
 
 BUILDNO_HOST_LFLAGS = -g
 
-$(BUILDNO_TARGET): $(BUILDNO_BASE_DIR) $(BUILDNO_OBJECTS)
+$(BUILDNO_TARGET): $(BUILDNO_OBJECTS)
        $(ECHO_LD)
        ${host_gpp} $(BUILDNO_OBJECTS) $(BUILDNO_HOST_LFLAGS) -o $(BUILDNO_TARGET)
 
-$(INTERMEDIATE)$(BUILDNO_BASE)$(SEP)buildno.o: $(BUILDNO_BASE_DIR) $(BUILDNO_BASE)$(SEP)buildno.cpp
+$(BUILDNO_BASE_DIR)$(SEP)buildno.o: $(BUILDNO_BASE)$(SEP)buildno.cpp $(BUILDNO_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gpp} $(BUILDNO_HOST_CFLAGS) -c $(BUILDNO_BASE)$(SEP)buildno.cpp -o $(INTERMEDIATE)$(BUILDNO_BASE)$(SEP)buildno.o
+       ${host_gpp} $(BUILDNO_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(BUILDNO_BASE)$(SEP)exception.o: $(BUILDNO_BASE_DIR) $(BUILDNO_BASE)$(SEP)exception.cpp
+$(BUILDNO_BASE_DIR)$(SEP)exception.o: $(BUILDNO_BASE)$(SEP)exception.cpp $(BUILDNO_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gpp} $(BUILDNO_HOST_CFLAGS) -c $(BUILDNO_BASE)$(SEP)exception.cpp -o $(INTERMEDIATE)$(BUILDNO_BASE)$(SEP)exception.o
+       ${host_gpp} $(BUILDNO_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(BUILDNO_BASE)$(SEP)ssprintf.o: $(BUILDNO_BASE_DIR) $(BUILDNO_BASE)$(SEP)ssprintf.cpp
+$(BUILDNO_BASE_DIR)$(SEP)ssprintf.o: $(BUILDNO_BASE)$(SEP)ssprintf.cpp $(BUILDNO_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gpp} $(BUILDNO_HOST_CFLAGS) -c $(BUILDNO_BASE)$(SEP)ssprintf.cpp -o $(INTERMEDIATE)$(BUILDNO_BASE)$(SEP)ssprintf.o
+       ${host_gpp} $(BUILDNO_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(BUILDNO_BASE)$(SEP)XML.o: $(BUILDNO_BASE_DIR) $(BUILDNO_BASE)$(SEP)XML.cpp
+$(BUILDNO_BASE_DIR)$(SEP)XML.o: $(BUILDNO_BASE)$(SEP)XML.cpp $(BUILDNO_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gpp} $(BUILDNO_HOST_CFLAGS) -c $(BUILDNO_BASE)$(SEP)XML.cpp -o $(INTERMEDIATE)$(BUILDNO_BASE)$(SEP)XML.o
+       ${host_gpp} $(BUILDNO_HOST_CFLAGS) -c $< -o $@
 
 .PHONY: buildno_clean
 buildno_clean:
@@ -47,4 +50,4 @@ buildno_clean:
 clean: buildno_clean
 
 $(BUILDNO_H): $(BUILDNO_TARGET)
-       $(EXEPREFIX)$(BUILDNO_TARGET) $(BUILDNO_H)
+       $(BUILDNO_TARGET) $(BUILDNO_H)
index 5564695..c30060e 100755 (executable)
@@ -6,7 +6,7 @@ $(CABMAN_BASE_DIR): $(RMKDIR_TARGET)
        ${mkdir} $(INTERMEDIATE)$(CABMAN_BASE)
 
 CABMAN_TARGET = \
-       $(INTERMEDIATE)$(CABMAN_BASE)$(SEP)cabman$(EXEPOSTFIX)
+       $(CABMAN_BASE_DIR)$(SEP)cabman$(EXEPOSTFIX)
 
 CABMAN_SOURCES = \
        $(CABMAN_BASE)$(SEP)cabinet.cxx \
@@ -18,33 +18,36 @@ CABMAN_SOURCES = \
 CABMAN_OBJECTS = \
   $(addprefix $(INTERMEDIATE), $(CABMAN_SOURCES:.cxx=.o))
 
-CABMAN_HOST_CFLAGS = -Iinclude/reactos -g -Werror -Wall
+CABMAN_HOST_CFLAGS = -Iinclude/reactos -Ilib/zlib -g -Werror -Wall
 
 CABMAN_HOST_LFLAGS = -g $(ZLIB_HOST_TARGET)
 
-$(CABMAN_TARGET): $(CABMAN_BASE_DIR) $(CABMAN_OBJECTS)
+.PHONY: cabman
+cabman: $(CABMAN_TARGET)
+
+$(CABMAN_TARGET): $(CABMAN_OBJECTS) $(ZLIB_HOST_TARGET)
        $(ECHO_LD)
-       ${host_gpp} $(CABMAN_OBJECTS) $(CABMAN_HOST_LFLAGS) -o $(CABMAN_TARGET)
+       ${host_gpp} $(CABMAN_OBJECTS) $(CABMAN_HOST_LFLAGS) -o $@
 
-$(INTERMEDIATE)$(CABMAN_BASE)$(SEP)cabinet.o: $(CABMAN_BASE_DIR) $(CABMAN_BASE)$(SEP)cabinet.cxx
+$(CABMAN_BASE_DIR)$(SEP)cabinet.o: $(CABMAN_BASE)$(SEP)cabinet.cxx $(CABMAN_BASE_DIR)
        $(ECHO_CC)
-       ${host_gpp} $(CABMAN_HOST_CFLAGS) -c $(CABMAN_BASE)$(SEP)cabinet.cxx -o $(INTERMEDIATE)$(CABMAN_BASE)$(SEP)cabinet.o
+       ${host_gpp} $(CABMAN_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(CABMAN_BASE)$(SEP)dfp.o: $(CABMAN_BASE_DIR) $(CABMAN_BASE)$(SEP)dfp.cxx
+$(CABMAN_BASE_DIR)$(SEP)dfp.o: $(CABMAN_BASE)$(SEP)dfp.cxx $(CABMAN_BASE_DIR)
        $(ECHO_CC)
-       ${host_gpp} $(CABMAN_HOST_CFLAGS) -c $(CABMAN_BASE)$(SEP)dfp.cxx -o $(INTERMEDIATE)$(CABMAN_BASE)$(SEP)dfp.o
+       ${host_gpp} $(CABMAN_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(CABMAN_BASE)$(SEP)main.o: $(CABMAN_BASE_DIR) $(CABMAN_BASE)$(SEP)main.cxx
+$(CABMAN_BASE_DIR)$(SEP)main.o: $(CABMAN_BASE)$(SEP)main.cxx $(CABMAN_BASE_DIR)
        $(ECHO_CC)
-       ${host_gpp} $(CABMAN_HOST_CFLAGS) -c $(CABMAN_BASE)$(SEP)main.cxx -o $(INTERMEDIATE)$(CABMAN_BASE)$(SEP)main.o
+       ${host_gpp} $(CABMAN_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(CABMAN_BASE)$(SEP)mszip.o: $(CABMAN_BASE_DIR) $(CABMAN_BASE)$(SEP)mszip.cxx
+$(CABMAN_BASE_DIR)$(SEP)mszip.o: $(CABMAN_BASE)$(SEP)mszip.cxx $(CABMAN_BASE_DIR)
        $(ECHO_CC)
-       ${host_gpp} $(CABMAN_HOST_CFLAGS) -c $(CABMAN_BASE)$(SEP)mszip.cxx -o $(INTERMEDIATE)$(CABMAN_BASE)$(SEP)mszip.o
+       ${host_gpp} $(CABMAN_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(CABMAN_BASE)$(SEP)raw.o: $(CABMAN_BASE_DIR) $(CABMAN_BASE)$(SEP)raw.cxx
+$(CABMAN_BASE_DIR)$(SEP)raw.o: $(CABMAN_BASE)$(SEP)raw.cxx $(CABMAN_BASE_DIR)
        $(ECHO_CC)
-       ${host_gpp} $(CABMAN_HOST_CFLAGS) -c $(CABMAN_BASE)$(SEP)raw.cxx -o $(INTERMEDIATE)$(CABMAN_BASE)$(SEP)raw.o
+       ${host_gpp} $(CABMAN_HOST_CFLAGS) -c $< -o $@
 
 .PHONY: cabman_clean
 cabman_clean:
index befbd71..8a1c40b 100644 (file)
@@ -1,29 +1,39 @@
-CDMAKE_BASE = tools$(SEP)cdmake
+CDMAKE_BASE = $(TOOLS_BASE)$(SEP)cdmake
 
 CDMAKE_BASE_DIR = $(INTERMEDIATE)$(CDMAKE_BASE)
+CDMAKE_BASE_DIR_EXISTS = $(CDMAKE_BASE_DIR)$(SEP)$(EXISTS)
 
-$(CDMAKE_BASE_DIR): $(INTERMEDIATE_NO_SLASH) $(RMKDIR_TARGET)
-       ${mkdir} $(INTERMEDIATE)$(CDMAKE_BASE)
+$(CDMAKE_BASE_DIR_EXISTS): $(TOOLS_BASE_DIR_EXISTS)
+       $(ECHO_MKDIR)
+       ${mkdir} $(CDMAKE_BASE_DIR)
+       @echo . >$@
 
 CDMAKE_TARGET = \
-       $(INTERMEDIATE)$(CDMAKE_BASE)$(SEP)cdmake$(EXEPOSTFIX)
+       $(CDMAKE_BASE_DIR)$(SEP)cdmake$(EXEPOSTFIX)
 
 CDMAKE_SOURCES = \
        $(CDMAKE_BASE)$(SEP)cdmake.c \
        $(CDMAKE_BASE)$(SEP)llmosrt.c
 
 CDMAKE_OBJECTS = \
-       $(CDMAKE_SOURCES:.c=.o)
+       $(addprefix $(INTERMEDIATE), $(CDMAKE_SOURCES:.c=.o))
 
 CDMAKE_HOST_CFLAGS = -Iinclude -g -Werror -Wall
 
 CDMAKE_HOST_LFLAGS = -g
 
-$(CDMAKE_TARGET): $(CDMAKE_BASE_DIR) $(CDMAKE_OBJECTS)
+.PHONY: cdmake
+cdmake: $(CDMAKE_TARGET)
+
+$(CDMAKE_TARGET): $(CDMAKE_OBJECTS)
        $(ECHO_LD)
-       ${host_gcc} $(CDMAKE_OBJECTS) $(CDMAKE_HOST_LFLAGS) -o $(CDMAKE_TARGET)
+       ${host_gcc} $(CDMAKE_OBJECTS) $(CDMAKE_HOST_LFLAGS) -o $@
+
+$(CDMAKE_BASE_DIR)$(SEP)cdmake.o: $(CDMAKE_BASE)$(SEP)cdmake.c $(CDMAKE_BASE_DIR_EXISTS)
+       $(ECHO_CC)
+       ${host_gcc} $(CDMAKE_HOST_CFLAGS) -c $< -o $@
 
-$(CDMAKE_OBJECTS): %.o : %.c $(CDMAKE_BASE_DIR)
+$(CDMAKE_BASE_DIR)$(SEP)llmosrt.o: $(CDMAKE_BASE)$(SEP)llmosrt.c $(CDMAKE_BASE_DIR_EXISTS)
        $(ECHO_CC)
        ${host_gcc} $(CDMAKE_HOST_CFLAGS) -c $< -o $@
 
index 0b9458a..56c492d 100644 (file)
@@ -1,12 +1,14 @@
-NCI_BASE = tools$(SEP)nci
+NCI_BASE = $(TOOLS_BASE)$(SEP)nci
 
-CDMAKE_BASE_DIR = $(INTERMEDIATE)$(NCI_BASE)
+NCI_BASE_DIR = $(INTERMEDIATE)$(NCI_BASE)
+NCI_BASE_DIR_EXISTS = $(NCI_BASE_DIR)$(SEP)$(EXISTS)
 
-$(CDMAKE_BASE_DIR): $(INTERMEDIATE_NO_SLASH) $(RMKDIR_TARGET)
-       ${mkdir} $(INTERMEDIATE)$(NCI_BASE)
+$(NCI_BASE_DIR_EXISTS): $(TOOLS_BASE_DIR_EXIST)
+       ${mkdir} $(NCI_BASE_DIR)
+       @echo . > $@
 
 NCI_TARGET = \
-       $(INTERMEDIATE)$(NCI_BASE)$(SEP)nci$(EXEPOSTFIX)
+       $(NCI_BASE_DIR)$(SEP)nci$(EXEPOSTFIX)
 
 NCI_SOURCES = \
        $(NCI_BASE)$(SEP)ncitool.c
@@ -18,13 +20,13 @@ NCI_HOST_CFLAGS = -Iinclude -g -Werror -Wall
 
 NCI_HOST_LFLAGS = -g
 
-$(NCI_TARGET): $(CDMAKE_BASE_DIR) $(NCI_OBJECTS)
+$(NCI_TARGET): $(NCI_OBJECTS)
        $(ECHO_LD)
        ${host_gcc} $(NCI_OBJECTS) $(NCI_HOST_CFLAGS) -o $(NCI_TARGET)
 
-$(INTERMEDIATE)$(NCI_BASE)$(SEP)ncitool.o: $(CDMAKE_BASE_DIR) $(NCI_BASE)$(SEP)ncitool.c
+$(NCI_BASE_DIR)$(SEP)ncitool.o: $(NCI_BASE)$(SEP)ncitool.c $(NCI_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(NCI_HOST_CFLAGS) -c $(NCI_BASE)$(SEP)ncitool.c -o $(INTERMEDIATE)$(NCI_BASE)$(SEP)ncitool.o
+       ${host_gcc} $(NCI_HOST_CFLAGS) -c $< -o $@
 
 .PHONY: nci_clean
 nci_clean:
@@ -53,7 +55,7 @@ NCI_SERVICE_FILES = \
 
 $(NCI_SERVICE_FILES): $(NCI_TARGET)
        $(ECHO_NCI)
-       $(Q)$(EXEPREFIX)$(NCI_TARGET) \
+       $(Q)$(NCI_TARGET) \
                $(KERNEL_SVC_DB) \
                $(WIN32K_SVC_DB) \
                $(KERNEL_SERVICE_TABLE) \
index b5eeadf..9e7964c 100644 (file)
@@ -21,9 +21,9 @@ SourceFile::SourceFile ( AutomaticDependency* automaticDependency,
          isNonAutomaticDependency ( isNonAutomaticDependency ),\r
          youngestLastWriteTime ( 0 )\r
 {\r
-       if ( parent != NULL )\r
+       if ( parent != NULL )\r
                parents.push_back ( parent );\r
-       GetDirectoryAndFilenameParts ();\r
+       GetDirectoryAndFilenameParts ();\r
 }\r
 \r
 void\r
@@ -41,7 +41,7 @@ SourceFile::GetDirectoryAndFilenameParts ()
                filenamePart = filename;\r
        }\r
 }\r
-               \r
+\r
 void\r
 SourceFile::Close ()\r
 {\r
index e49a9c1..11435f7 100644 (file)
@@ -1449,7 +1449,7 @@ MingwBuildToolModuleHandler::GenerateBuildToolModuleTarget ( const Module& modul
                clean_files );\r
 \r
        string linker;\r
-       if ( IsCPlusPlusModule ( module ) )\r
+       if ( module.cplusplus )\r
                linker = "${host_gpp}";\r
        else\r
                linker = "${host_gcc}";\r
index d3cd973..565aa06 100644 (file)
@@ -1,10 +1,18 @@
-RBUILD_BASE = .$(SEP)tools$(SEP)rbuild\r
+RBUILD_BASE = $(TOOLS_BASE)$(SEP)rbuild\r
+\r
+RBUILD_BASE_DIR = $(INTERMEDIATE)$(RBUILD_BASE)\r
+RBUILD_BASE_DIR_EXISTS = $(RBUILD_BASE_DIR)$(SEP)$(EXISTS)\r
+\r
+$(RBUILD_BASE_DIR_EXISTS): $(TOOLS_BASE_DIR_EXISTS)\r
+       $(ECHO_MKDIR)\r
+       ${mkdir} $(RBUILD_BASE_DIR)\r
+       @echo . >$@\r
 \r
 RBUILD_TARGET = \\r
-       $(ROS_INTERMEDIATE)$(RBUILD_BASE)$(SEP)rbuild$(EXEPOSTFIX)\r
+       $(RBUILD_BASE_DIR)$(SEP)rbuild$(EXEPOSTFIX)\r
 \r
 RBUILD_TEST_TARGET = \\r
-       $(ROS_INTERMEDIATE)$(RBUILD_BASE)$(SEP)rbuild_test$(EXEPOSTFIX)\r
+       $(RBUILD_BASE_DIR)$(SEP)rbuild_test$(EXEPOSTFIX)\r
 \r
 RBUILD_BACKEND_MINGW_BASE_SOURCES = \\r
        backend$(SEP)mingw$(SEP)mingw.cpp \\r
@@ -87,7 +95,7 @@ RBUILD_HOST_LFLAGS = -g
 .PHONY: rbuild\r
 rbuild: $(RBUILD_TARGET)\r
 \r
-$(RBUILD_TARGET): $(RBUILD_OBJECTS)\r
+$(RBUILD_TARGET): $(RBUILD_OBJECTS) $(RBUILD_BASE_DIR_EXISTS)\r
        $(ECHO_LD)\r
        ${host_gpp} $(RBUILD_OBJECTS) $(RBUILD_HOST_LFLAGS) -o $(RBUILD_TARGET)\r
 \r
@@ -99,7 +107,7 @@ $(RBUILD_SPECIAL_OBJECTS): %.o: %.cpp
        $(ECHO_CC)\r
        ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@\r
 \r
-$(RBUILD_TEST_TARGET): $(RBUILD_TEST_OBJECTS)\r
+$(RBUILD_TEST_TARGET): $(RBUILD_TEST_OBJECTS) $(RBUILD_BASE_DIR_EXISTS)\r
        $(ECHO_LD)\r
        ${host_gpp} $(RBUILD_TEST_OBJECTS) $(RBUILD_HOST_LFLAGS) -o $(RBUILD_TEST_TARGET)\r
 \r
index e9d94e0..6a6678c 100644 (file)
@@ -2,7 +2,7 @@
 #include <string.h>
 #include <stdlib.h>
 #include <ctype.h>
-#ifdef _MSC_VER
+#ifdef WIN32
 #include <direct.h>
 #else
 #include <unistd.h>
@@ -32,10 +32,10 @@ convert_path(char* origpath)
 {
        char* newpath;
        int i;
-       
+
        newpath=malloc(strlen(origpath)+1);
        strcpy(newpath,origpath);
-       
+
        i = 0;
        while (newpath[i] != 0)
        {
@@ -74,15 +74,15 @@ int main(int argc, char* argv[])
        char* path1;
        char* csec;
        char buf[256];
-       
+
        if (argc != 2)
        {
                fprintf(stderr, "Too many arguments\n");
                exit(1);
        }
-       
+
        path1 = convert_path(argv[1]);
-       
+
        if (isalpha(path1[0]) && path1[1] == ':' && path1[2] == DIR_SEPARATOR_CHAR)
        {
                csec = strtok(path1, DIR_SEPARATOR_STRING);
@@ -99,12 +99,12 @@ int main(int argc, char* argv[])
        {
                csec = strtok(path1, DIR_SEPARATOR_STRING);
        }
-       
+
        while (csec != NULL)
        {
                mkdir_p(csec);
                csec = strtok(NULL, DIR_SEPARATOR_STRING);
        }
-       
+
        exit(0);
 }
index 3b4b194..766ae82 100644 (file)
@@ -1,13 +1,16 @@
 RMKDIR_BASE = tools
 
+RMKDIR_BASE_DIR = $(INTERMEDIATE)
+RMKDIR_BASE_DIR_EXISTS = $(RMKDIR_BASE_DIR)$(EXISTS)
+
 RMKDIR_TARGET = \
-       $(INTERMEDIATE)rmkdir$(EXEPOSTFIX)
+       $(RMKDIR_BASE_DIR)rmkdir$(EXEPOSTFIX)
 
 RMKDIR_SOURCES = \
        $(RMKDIR_BASE)$(SEP)rmkdir.c
 
 RMKDIR_OBJECTS = \
-       $(INTERMEDIATE)rmkdir.o
+       $(RMKDIR_BASE_DIR)rmkdir.o
 
 RMKDIR_HOST_CFLAGS = -g -Werror -Wall
 
@@ -16,13 +19,13 @@ RMKDIR_HOST_LFLAGS = -g
 .PHONY: rmkdir
 rmkdir: $(RMKDIR_TARGET)
 
-$(RMKDIR_TARGET): $(INTERMEDIATE_NO_SLASH) $(RMKDIR_OBJECTS)
+$(RMKDIR_TARGET): $(RMKDIR_OBJECTS)
        $(ECHO_LD)
-       ${host_gcc} $(RMKDIR_OBJECTS) $(RMKDIR_HOST_LFLAGS) -o $(RMKDIR_TARGET)
+       ${host_gcc} $(RMKDIR_OBJECTS) $(RMKDIR_HOST_LFLAGS) -o $@
 
-$(INTERMEDIATE)rmkdir.o: $(INTERMEDIATE_NO_SLASH) $(RMKDIR_BASE)$(SEP)rmkdir.c
+$(RMKDIR_BASE_DIR)rmkdir.o: $(RMKDIR_BASE)$(SEP)rmkdir.c $(RMKDIR_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(RMKDIR_HOST_CFLAGS) -c $(RMKDIR_BASE)$(SEP)rmkdir.c -o $(INTERMEDIATE)rmkdir.o
+       ${host_gcc} $(RMKDIR_HOST_CFLAGS) -c $< -o $@
 
 .PHONY: rmkdir_clean
 rmkdir_clean:
@@ -30,10 +33,22 @@ rmkdir_clean:
 clean: rmkdir_clean
 
 
-RSYM_BASE = tools
+TOOLS_BASE = tools
+TOOLS_BASE_DIR = $(INTERMEDIATE)$(TOOLS_BASE)
+TOOLS_BASE_DIR_EXISTS = $(TOOLS_BASE_DIR)$(EXISTS)
+
+$(TOOLS_BASE_DIR_EXISTS): $(INTERMEDIATE_EXISTS) $(RMKDIR_TARGET)
+       ${mkdir} $(TOOLS_BASE_DIR)
+       @echo . >$@
+
+
+RSYM_BASE = $(TOOLS_BASE)
+
+RSYM_BASE_DIR = $(INTERMEDIATE)$(RSYM_BASE)
+RSYM_BASE_DIR_EXISTS = $(RSYM_BASE_DIR)$(EXISTS)
 
 RSYM_TARGET = \
-       $(INTERMEDIATE)$(RSYM_BASE)$(SEP)rsym$(EXEPOSTFIX)
+       $(RSYM_BASE_DIR)$(SEP)rsym$(EXEPOSTFIX)
 
 RSYM_SOURCES = \
        $(RSYM_BASE)$(SEP)rsym.c
@@ -50,9 +65,9 @@ rsym: $(RSYM_TARGET)
 
 $(RSYM_TARGET): $(RSYM_OBJECTS)
        $(ECHO_LD)
-       ${host_gcc} $(RSYM_OBJECTS) $(RSYM_HOST_LFLAGS) -o $(RSYM_TARGET)
+       ${host_gcc} $(RSYM_OBJECTS) $(RSYM_HOST_LFLAGS) -o $@
 
-$(RSYM_OBJECTS): %.o : %.c
+$(RSYM_OBJECTS): %.o : %.c $(RSYM_BASE_DIR_EXISTS)
        $(ECHO_CC)
        ${host_gcc} $(RSYM_HOST_CFLAGS) -c $< -o $@
 
@@ -61,9 +76,9 @@ rsym_clean:
        -@$(rm) $(RSYM_TARGET) $(RSYM_OBJECTS) 2>$(NUL)
 clean: rsym_clean
 
+
 include tools/bin2res/bin2res.mak
 include tools/buildno/buildno.mak
-include tools/cabman/cabman.mak
 include tools/cdmake/cdmake.mak
 include tools/nci/nci.mak
 include tools/rbuild/rbuild.mak
@@ -73,3 +88,6 @@ include tools/wmc/wmc.mak
 include tools/wpp/wpp.mak
 include tools/wrc/wrc.mak
 include lib/zlib/zlib.mak
+
+# cabman must come after zlib
+include tools/cabman/cabman.mak
index 7b781da..473b9b3 100644 (file)
@@ -1,12 +1,15 @@
-UNICODE_BASE = tools$(SEP)unicode
+UNICODE_BASE = $(TOOLS_BASE)$(SEP)unicode
 
 UNICODE_BASE_DIR = $(INTERMEDIATE)$(UNICODE_BASE)
+UNICODE_BASE_DIR_EXISTS = $(UNICODE_BASE_DIR)$(SEP)$(EXISTS)
 
-$(UNICODE_BASE_DIR): $(INTERMEDIATE_NO_SLASH) $(RMKDIR_TARGET)
-       ${mkdir} $(INTERMEDIATE)$(UNICODE_BASE)
+$(UNICODE_BASE_DIR_EXISTS): $(TOOLS_BASE_DIR_EXISTS)
+       $(ECHO_MKDIR)
+       ${mkdir} $(UNICODE_BASE_DIR)
+       @echo . >$(UNICODE_BASE_DIR_EXISTS)
 
 UNICODE_TARGET = \
-       $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)libunicode.a
+       $(UNICODE_BASE_DIR)$(SEP)libunicode.a
 
 UNICODE_CODEPAGES = \
        037 \
@@ -91,277 +94,277 @@ UNICODE_HOST_CFLAGS = \
 .PHONY: unicode
 unicode: $(UNICODE_TARGET)
 
-$(UNICODE_TARGET): $(UNICODE_BASE_DIR) $(UNICODE_OBJECTS)
+$(UNICODE_TARGET): $(UNICODE_OBJECTS)
        $(ECHO_AR)
-       ${host_ar} -rc $(UNICODE_TARGET) $(UNICODE_OBJECTS)
+       ${host_ar} -rc $@ $(UNICODE_OBJECTS)
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)casemap.o: $(UNICODE_BASE)$(SEP)casemap.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)casemap.o: $(UNICODE_BASE)$(SEP)casemap.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)casemap.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)casemap.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)compose.o: $(UNICODE_BASE)$(SEP)compose.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)compose.o: $(UNICODE_BASE)$(SEP)compose.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)compose.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)compose.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)cptable.o: $(UNICODE_BASE)$(SEP)cptable.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)cptable.o: $(UNICODE_BASE)$(SEP)cptable.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)cptable.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)cptable.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)mbtowc.o: $(UNICODE_BASE)$(SEP)mbtowc.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)mbtowc.o: $(UNICODE_BASE)$(SEP)mbtowc.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)mbtowc.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)mbtowc.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)string.o: $(UNICODE_BASE)$(SEP)string.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)string.o: $(UNICODE_BASE)$(SEP)string.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)string.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)string.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)wctomb.o: $(UNICODE_BASE)$(SEP)wctomb.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)wctomb.o: $(UNICODE_BASE)$(SEP)wctomb.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)wctomb.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)wctomb.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)wctype.o: $(UNICODE_BASE)$(SEP)wctype.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)wctype.o: $(UNICODE_BASE)$(SEP)wctype.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)wctype.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)wctype.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_037.o: $(UNICODE_BASE)$(SEP)c_037.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_037.o: $(UNICODE_BASE)$(SEP)c_037.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_037.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_037.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_424.o: $(UNICODE_BASE)$(SEP)c_424.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_424.o: $(UNICODE_BASE)$(SEP)c_424.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_424.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_424.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_437.o: $(UNICODE_BASE)$(SEP)c_437.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_437.o: $(UNICODE_BASE)$(SEP)c_437.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_437.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_437.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_500.o: $(UNICODE_BASE)$(SEP)c_500.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_500.o: $(UNICODE_BASE)$(SEP)c_500.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_500.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_500.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_737.o: $(UNICODE_BASE)$(SEP)c_737.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_737.o: $(UNICODE_BASE)$(SEP)c_737.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_737.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_737.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_775.o: $(UNICODE_BASE)$(SEP)c_775.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_775.o: $(UNICODE_BASE)$(SEP)c_775.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_775.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_775.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_850.o: $(UNICODE_BASE)$(SEP)c_850.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_850.o: $(UNICODE_BASE)$(SEP)c_850.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_850.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_850.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_852.o: $(UNICODE_BASE)$(SEP)c_852.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_852.o: $(UNICODE_BASE)$(SEP)c_852.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_852.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_852.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_855.o: $(UNICODE_BASE)$(SEP)c_855.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_855.o: $(UNICODE_BASE)$(SEP)c_855.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_855.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_855.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_856.o: $(UNICODE_BASE)$(SEP)c_856.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_856.o: $(UNICODE_BASE)$(SEP)c_856.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_856.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_856.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_857.o: $(UNICODE_BASE)$(SEP)c_857.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_857.o: $(UNICODE_BASE)$(SEP)c_857.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_857.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_857.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_860.o: $(UNICODE_BASE)$(SEP)c_860.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_860.o: $(UNICODE_BASE)$(SEP)c_860.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_860.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_860.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_861.o: $(UNICODE_BASE)$(SEP)c_861.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_861.o: $(UNICODE_BASE)$(SEP)c_861.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_861.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_861.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_862.o: $(UNICODE_BASE)$(SEP)c_862.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_862.o: $(UNICODE_BASE)$(SEP)c_862.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_862.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_862.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_863.o: $(UNICODE_BASE)$(SEP)c_863.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_863.o: $(UNICODE_BASE)$(SEP)c_863.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_863.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_863.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_864.o: $(UNICODE_BASE)$(SEP)c_864.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_864.o: $(UNICODE_BASE)$(SEP)c_864.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_864.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_864.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_865.o: $(UNICODE_BASE)$(SEP)c_865.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_865.o: $(UNICODE_BASE)$(SEP)c_865.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_865.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_865.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_866.o: $(UNICODE_BASE)$(SEP)c_866.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_866.o: $(UNICODE_BASE)$(SEP)c_866.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_866.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_866.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_869.o: $(UNICODE_BASE)$(SEP)c_869.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_869.o: $(UNICODE_BASE)$(SEP)c_869.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_869.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_869.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_874.o: $(UNICODE_BASE)$(SEP)c_874.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_874.o: $(UNICODE_BASE)$(SEP)c_874.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_874.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_874.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_875.o: $(UNICODE_BASE)$(SEP)c_875.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_875.o: $(UNICODE_BASE)$(SEP)c_875.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_875.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_875.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_878.o: $(UNICODE_BASE)$(SEP)c_878.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_878.o: $(UNICODE_BASE)$(SEP)c_878.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_878.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_878.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_932.o: $(UNICODE_BASE)$(SEP)c_932.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_932.o: $(UNICODE_BASE)$(SEP)c_932.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_932.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_932.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_936.o: $(UNICODE_BASE)$(SEP)c_936.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_936.o: $(UNICODE_BASE)$(SEP)c_936.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_936.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_936.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_949.o: $(UNICODE_BASE)$(SEP)c_949.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_949.o: $(UNICODE_BASE)$(SEP)c_949.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_949.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_949.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_950.o: $(UNICODE_BASE)$(SEP)c_950.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_950.o: $(UNICODE_BASE)$(SEP)c_950.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_950.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_950.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_1006.o: $(UNICODE_BASE)$(SEP)c_1006.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_1006.o: $(UNICODE_BASE)$(SEP)c_1006.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_1006.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_1006.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_1026.o: $(UNICODE_BASE)$(SEP)c_1026.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_1026.o: $(UNICODE_BASE)$(SEP)c_1026.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_1026.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_1026.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_1250.o: $(UNICODE_BASE)$(SEP)c_1250.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_1250.o: $(UNICODE_BASE)$(SEP)c_1250.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_1250.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_1250.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_1251.o: $(UNICODE_BASE)$(SEP)c_1251.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_1251.o: $(UNICODE_BASE)$(SEP)c_1251.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_1251.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_1251.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_1252.o: $(UNICODE_BASE)$(SEP)c_1252.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_1252.o: $(UNICODE_BASE)$(SEP)c_1252.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_1252.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_1252.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_1253.o: $(UNICODE_BASE)$(SEP)c_1253.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_1253.o: $(UNICODE_BASE)$(SEP)c_1253.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_1253.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_1253.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_1254.o: $(UNICODE_BASE)$(SEP)c_1254.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_1254.o: $(UNICODE_BASE)$(SEP)c_1254.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_1254.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_1254.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_1255.o: $(UNICODE_BASE)$(SEP)c_1255.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_1255.o: $(UNICODE_BASE)$(SEP)c_1255.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_1255.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_1255.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_1256.o: $(UNICODE_BASE)$(SEP)c_1256.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_1256.o: $(UNICODE_BASE)$(SEP)c_1256.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_1256.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_1256.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_1257.o: $(UNICODE_BASE)$(SEP)c_1257.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_1257.o: $(UNICODE_BASE)$(SEP)c_1257.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_1257.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_1257.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_1258.o: $(UNICODE_BASE)$(SEP)c_1258.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_1258.o: $(UNICODE_BASE)$(SEP)c_1258.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_1258.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_1258.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_10000.o: $(UNICODE_BASE)$(SEP)c_10000.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_10000.o: $(UNICODE_BASE)$(SEP)c_10000.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_10000.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_10000.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_10006.o: $(UNICODE_BASE)$(SEP)c_10006.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_10006.o: $(UNICODE_BASE)$(SEP)c_10006.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_10006.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_10006.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_10007.o: $(UNICODE_BASE)$(SEP)c_10007.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_10007.o: $(UNICODE_BASE)$(SEP)c_10007.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_10007.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_10007.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_10029.o: $(UNICODE_BASE)$(SEP)c_10029.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_10029.o: $(UNICODE_BASE)$(SEP)c_10029.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_10029.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_10029.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_10079.o: $(UNICODE_BASE)$(SEP)c_10079.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_10079.o: $(UNICODE_BASE)$(SEP)c_10079.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_10079.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_10079.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_10081.o: $(UNICODE_BASE)$(SEP)c_10081.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_10081.o: $(UNICODE_BASE)$(SEP)c_10081.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_10081.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_10081.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_20866.o: $(UNICODE_BASE)$(SEP)c_20866.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_20866.o: $(UNICODE_BASE)$(SEP)c_20866.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_20866.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_20866.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_20932.o: $(UNICODE_BASE)$(SEP)c_20932.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_20932.o: $(UNICODE_BASE)$(SEP)c_20932.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_20932.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_20932.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_21866.o: $(UNICODE_BASE)$(SEP)c_21866.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_21866.o: $(UNICODE_BASE)$(SEP)c_21866.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_21866.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_21866.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28591.o: $(UNICODE_BASE)$(SEP)c_28591.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_28591.o: $(UNICODE_BASE)$(SEP)c_28591.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_28591.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28591.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28592.o: $(UNICODE_BASE)$(SEP)c_28592.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_28592.o: $(UNICODE_BASE)$(SEP)c_28592.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_28592.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28592.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28593.o: $(UNICODE_BASE)$(SEP)c_28593.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_28593.o: $(UNICODE_BASE)$(SEP)c_28593.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_28593.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28593.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28594.o: $(UNICODE_BASE)$(SEP)c_28594.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_28594.o: $(UNICODE_BASE)$(SEP)c_28594.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_28594.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28594.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28595.o: $(UNICODE_BASE)$(SEP)c_28595.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_28595.o: $(UNICODE_BASE)$(SEP)c_28595.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_28595.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28595.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28596.o: $(UNICODE_BASE)$(SEP)c_28596.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_28596.o: $(UNICODE_BASE)$(SEP)c_28596.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_28596.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28596.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28597.o: $(UNICODE_BASE)$(SEP)c_28597.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_28597.o: $(UNICODE_BASE)$(SEP)c_28597.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_28597.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28597.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28598.o: $(UNICODE_BASE)$(SEP)c_28598.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_28598.o: $(UNICODE_BASE)$(SEP)c_28598.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_28598.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28598.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28599.o: $(UNICODE_BASE)$(SEP)c_28599.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_28599.o: $(UNICODE_BASE)$(SEP)c_28599.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_28599.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28599.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28600.o: $(UNICODE_BASE)$(SEP)c_28600.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_28600.o: $(UNICODE_BASE)$(SEP)c_28600.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_28600.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28600.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28603.o: $(UNICODE_BASE)$(SEP)c_28603.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_28603.o: $(UNICODE_BASE)$(SEP)c_28603.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_28603.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28603.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28604.o: $(UNICODE_BASE)$(SEP)c_28604.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_28604.o: $(UNICODE_BASE)$(SEP)c_28604.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_28604.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28604.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28605.o: $(UNICODE_BASE)$(SEP)c_28605.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_28605.o: $(UNICODE_BASE)$(SEP)c_28605.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_28605.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28605.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28606.o: $(UNICODE_BASE)$(SEP)c_28606.c $(UNICODE_BASE_DIR)
+$(UNICODE_BASE_DIR)$(SEP)c_28606.o: $(UNICODE_BASE)$(SEP)c_28606.c $(UNICODE_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $(UNICODE_BASE)$(SEP)c_28606.c -o $(INTERMEDIATE)$(UNICODE_BASE)$(SEP)c_28606.o
+       ${host_gcc} $(UNICODE_HOST_CFLAGS) -c $< -o $@
 
 .PHONY: unicode_clean
 unicode_clean:
index dbf4792..fabbb88 100644 (file)
@@ -1,22 +1,26 @@
-WINEBUILD_BASE = tools$(SEP)winebuild\r
+WINEBUILD_BASE = $(TOOLS_BASE)$(SEP)winebuild\r
 \r
 WINEBUILD_BASE_DIR = $(INTERMEDIATE)$(WINEBUILD_BASE)\r
+WINEBUILD_BASE_DIR_EXISTS = $(WINEBUILD_BASE_DIR)$(SEP)$(EXISTS)\r
 \r
-$(WINEBUILD_BASE_DIR): $(INTERMEDIATE_NO_SLASH) $(RMKDIR_TARGET)\r
-       ${mkdir} $(INTERMEDIATE)$(WINEBUILD_BASE)\r
+$(WINEBUILD_BASE_DIR_EXISTS): $(TOOLS_BASE_DIR_EXISTS)\r
+       $(ECHO_MKDIR)\r
+       ${mkdir} $(WINEBUILD_BASE_DIR)\r
+       @echo . > $@\r
 \r
 WINEBUILD_TARGET = \\r
-       $(INTERMEDIATE)$(WINEBUILD_BASE)$(SEP)winebuild$(EXEPOSTFIX)\r
-\r
-WINEBUILD_SOURCES = \\r
-       $(WINEBUILD_BASE)$(SEP)import.c \\r
-       $(WINEBUILD_BASE)$(SEP)main.c \\r
-       $(WINEBUILD_BASE)$(SEP)parser.c \\r
-       $(WINEBUILD_BASE)$(SEP)res16.c \\r
-       $(WINEBUILD_BASE)$(SEP)res32.c \\r
-       $(WINEBUILD_BASE)$(SEP)spec32.c \\r
-       $(WINEBUILD_BASE)$(SEP)utils.c \\r
-       $(WINEBUILD_BASE)$(SEP)mkstemps.c\r
+       $(WINEBUILD_BASE_DIR)$(SEP)winebuild$(EXEPOSTFIX)\r
+\r
+WINEBUILD_SOURCES = $(addprefix $(WINEBUILD_BASE)$(SEP), \\r
+       import.c \\r
+       main.c \\r
+       parser.c \\r
+       res16.c \\r
+       res32.c \\r
+       spec32.c \\r
+       utils.c \\r
+       mkstemps.c \\r
+       )\r
 \r
 WINEBUILD_OBJECTS = \\r
   $(addprefix $(INTERMEDIATE), $(WINEBUILD_SOURCES:.c=.o))\r
@@ -25,41 +29,44 @@ WINEBUILD_HOST_CFLAGS = -D__USE_W32API -Iinclude/wine
 \r
 WINEBUILD_HOST_LFLAGS = -g\r
 \r
-$(WINEBUILD_TARGET): $(WINEBUILD_BASE_DIR) $(WINEBUILD_OBJECTS)\r
+.PHONY: winebuild\r
+winebuild: $(WINEBUILD_TARGET)\r
+\r
+$(WINEBUILD_TARGET): $(WINEBUILD_OBJECTS)\r
        $(ECHO_LD)\r
-       ${host_gcc} $(WINEBUILD_OBJECTS) $(WINEBUILD_HOST_LFLAGS) -o $(WINEBUILD_TARGET)\r
+       ${host_gcc} $(WINEBUILD_OBJECTS) $(WINEBUILD_HOST_LFLAGS) -o $@\r
 \r
-$(INTERMEDIATE)$(WINEBUILD_BASE)$(SEP)import.o: $(WINEBUILD_BASE_DIR) $(WINEBUILD_BASE)$(SEP)import.c\r
+$(WINEBUILD_BASE_DIR)$(SEP)import.o: $(WINEBUILD_BASE)$(SEP)import.c $(WINEBUILD_BASE_DIR_EXISTS)\r
        $(ECHO_CC)\r
-       ${host_gcc} $(WINEBUILD_HOST_CFLAGS) -c $(WINEBUILD_BASE)$(SEP)import.c -o $(INTERMEDIATE)$(WINEBUILD_BASE)$(SEP)import.o\r
+       ${host_gcc} $(WINEBUILD_HOST_CFLAGS) -c $< -o $@\r
 \r
-$(INTERMEDIATE)$(WINEBUILD_BASE)$(SEP)main.o: $(WINEBUILD_BASE_DIR) $(WINEBUILD_BASE)$(SEP)main.c\r
+$(WINEBUILD_BASE_DIR)$(SEP)main.o: $(WINEBUILD_BASE)$(SEP)main.c $(WINEBUILD_BASE_DIR_EXISTS)\r
        $(ECHO_CC)\r
-       ${host_gcc} $(WINEBUILD_HOST_CFLAGS) -c $(WINEBUILD_BASE)$(SEP)main.c -o $(INTERMEDIATE)$(WINEBUILD_BASE)$(SEP)main.o\r
+       ${host_gcc} $(WINEBUILD_HOST_CFLAGS) -c $< -o $@\r
 \r
-$(INTERMEDIATE)$(WINEBUILD_BASE)$(SEP)parser.o: $(WINEBUILD_BASE_DIR) $(WINEBUILD_BASE)$(SEP)parser.c\r
+$(WINEBUILD_BASE_DIR)$(SEP)parser.o: $(WINEBUILD_BASE)$(SEP)parser.c $(WINEBUILD_BASE_DIR_EXISTS)\r
        $(ECHO_CC)\r
-       ${host_gcc} $(WINEBUILD_HOST_CFLAGS) -c $(WINEBUILD_BASE)$(SEP)parser.c -o $(INTERMEDIATE)$(WINEBUILD_BASE)$(SEP)parser.o\r
+       ${host_gcc} $(WINEBUILD_HOST_CFLAGS) -c $< -o $@\r
 \r
-$(INTERMEDIATE)$(WINEBUILD_BASE)$(SEP)res16.o: $(WINEBUILD_BASE_DIR) $(WINEBUILD_BASE)$(SEP)res16.c\r
+$(WINEBUILD_BASE_DIR)$(SEP)res16.o: $(WINEBUILD_BASE)$(SEP)res16.c $(WINEBUILD_BASE_DIR_EXISTS)\r
        $(ECHO_CC)\r
-       ${host_gcc} $(WINEBUILD_HOST_CFLAGS) -c $(WINEBUILD_BASE)$(SEP)res16.c -o $(INTERMEDIATE)$(WINEBUILD_BASE)$(SEP)res16.o\r
+       ${host_gcc} $(WINEBUILD_HOST_CFLAGS) -c $< -o $@\r
 \r
-$(INTERMEDIATE)$(WINEBUILD_BASE)$(SEP)res32.o: $(WINEBUILD_BASE_DIR) $(WINEBUILD_BASE)$(SEP)res32.c\r
+$(WINEBUILD_BASE_DIR)$(SEP)res32.o: $(WINEBUILD_BASE)$(SEP)res32.c $(WINEBUILD_BASE_DIR_EXISTS)\r
        $(ECHO_CC)\r
-       ${host_gcc} $(WINEBUILD_HOST_CFLAGS) -c $(WINEBUILD_BASE)$(SEP)res32.c -o $(INTERMEDIATE)$(WINEBUILD_BASE)$(SEP)res32.o\r
+       ${host_gcc} $(WINEBUILD_HOST_CFLAGS) -c $< -o $@\r
 \r
-$(INTERMEDIATE)$(WINEBUILD_BASE)$(SEP)spec32.o: $(WINEBUILD_BASE_DIR) $(WINEBUILD_BASE)$(SEP)spec32.c\r
+$(WINEBUILD_BASE_DIR)$(SEP)spec32.o: $(WINEBUILD_BASE)$(SEP)spec32.c $(WINEBUILD_BASE_DIR_EXISTS)\r
        $(ECHO_CC)\r
-       ${host_gcc} $(WINEBUILD_HOST_CFLAGS) -c $(WINEBUILD_BASE)$(SEP)spec32.c -o $(INTERMEDIATE)$(WINEBUILD_BASE)$(SEP)spec32.o\r
+       ${host_gcc} $(WINEBUILD_HOST_CFLAGS) -c $< -o $@\r
 \r
-$(INTERMEDIATE)$(WINEBUILD_BASE)$(SEP)utils.o: $(WINEBUILD_BASE_DIR) $(WINEBUILD_BASE)$(SEP)utils.c\r
+$(WINEBUILD_BASE_DIR)$(SEP)utils.o: $(WINEBUILD_BASE)$(SEP)utils.c $(WINEBUILD_BASE_DIR_EXISTS)\r
        $(ECHO_CC)\r
-       ${host_gcc} $(WINEBUILD_HOST_CFLAGS) -c $(WINEBUILD_BASE)$(SEP)utils.c -o $(INTERMEDIATE)$(WINEBUILD_BASE)$(SEP)utils.o\r
+       ${host_gcc} $(WINEBUILD_HOST_CFLAGS) -c $< -o $@\r
 \r
-$(INTERMEDIATE)$(WINEBUILD_BASE)$(SEP)mkstemps.o: $(WINEBUILD_BASE_DIR) $(WINEBUILD_BASE)$(SEP)mkstemps.c\r
+$(WINEBUILD_BASE_DIR)$(SEP)mkstemps.o: $(WINEBUILD_BASE)$(SEP)mkstemps.c $(WINEBUILD_BASE_DIR_EXISTS)\r
        $(ECHO_CC)\r
-       ${host_gcc} $(WINEBUILD_HOST_CFLAGS) -c $(WINEBUILD_BASE)$(SEP)mkstemps.c -o $(INTERMEDIATE)$(WINEBUILD_BASE)$(SEP)mkstemps.o\r
+       ${host_gcc} $(WINEBUILD_HOST_CFLAGS) -c $< -o $@\r
 \r
 .PHONY: winebuild_clean\r
 winebuild_clean:\r
index e30cd5e..fd8f05e 100644 (file)
@@ -1,22 +1,26 @@
-WMC_BASE = tools$(SEP)wmc
+WMC_BASE = $(TOOLS_BASE)$(SEP)wmc
 
 WMC_BASE_DIR = $(INTERMEDIATE)$(WMC_BASE)
+WMC_BASE_DIR_EXISTS = $(WMC_BASE_DIR)$(SEP)$(EXISTS)
 
-$(WMC_BASE_DIR): $(INTERMEDIATE_NO_SLASH) $(RMKDIR_TARGET)
-       ${mkdir} $(INTERMEDIATE)$(WMC_BASE)
+$(WMC_BASE_DIR_EXISTS): $(TOOLS_BASE_DIR_EXISTS)
+       $(ECHO_MKDIR)
+       ${mkdir} $(WMC_BASE_DIR)
+       @echo . >$@
 
 WMC_TARGET = \
        $(INTERMEDIATE)$(WMC_BASE)$(SEP)wmc$(EXEPOSTFIX)
 
-WMC_SOURCES = \
-       $(WMC_BASE)$(SEP)getopt.c \
-       $(WMC_BASE)$(SEP)lang.c \
-       $(WMC_BASE)$(SEP)mcl.c \
-       $(WMC_BASE)$(SEP)utils.c \
-       $(WMC_BASE)$(SEP)wmc.c \
-       $(WMC_BASE)$(SEP)write.c \
-       $(WMC_BASE)$(SEP)y_tab.c \
-       $(WMC_BASE)$(SEP)misc.c
+WMC_SOURCES = $(addprefix $(WMC_BASE)$(SEP), \
+       getopt.c \
+       lang.c \
+       mcl.c \
+       utils.c \
+       wmc.c \
+       write.c \
+       y_tab.c \
+       misc.c \
+       )
 
 WMC_OBJECTS = \
   $(addprefix $(INTERMEDIATE), $(WMC_SOURCES:.c=.o))
@@ -28,41 +32,41 @@ WMC_HOST_LFLAGS = -g
 .PHONY: wmc
 wmc: $(WMC_TARGET)
 
-$(WMC_TARGET): $(WMC_BASE_DIR) $(WMC_OBJECTS)
+$(WMC_TARGET): $(WMC_OBJECTS)
        $(ECHO_LD)
-       ${host_gcc} $(WMC_OBJECTS) $(WMC_HOST_LFLAGS) -o $(WMC_TARGET)
+       ${host_gcc} $(WMC_OBJECTS) $(WMC_HOST_LFLAGS) -o $@
 
-$(INTERMEDIATE)$(WMC_BASE)$(SEP)getopt.o: $(WMC_BASE_DIR) $(WMC_BASE)$(SEP)getopt.c
+$(WMC_BASE_DIR)$(SEP)getopt.o: $(WMC_BASE)$(SEP)getopt.c $(WMC_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(WMC_HOST_CXXFLAGS) -c $(WMC_BASE)$(SEP)getopt.c -o $(INTERMEDIATE)$(WMC_BASE)$(SEP)getopt.o
+       ${host_gcc} $(WMC_HOST_CXXFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(WMC_BASE)$(SEP)lang.o: $(WMC_BASE_DIR) $(WMC_BASE)$(SEP)lang.c
+$(WMC_BASE_DIR)$(SEP)lang.o: $(WMC_BASE)$(SEP)lang.c $(WMC_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(WMC_HOST_CXXFLAGS) -c $(WMC_BASE)$(SEP)lang.c -o $(INTERMEDIATE)$(WMC_BASE)$(SEP)lang.o
+       ${host_gcc} $(WMC_HOST_CXXFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(WMC_BASE)$(SEP)mcl.o: $(WMC_BASE_DIR) $(WMC_BASE)$(SEP)mcl.c
+$(WMC_BASE_DIR)$(SEP)mcl.o: $(WMC_BASE)$(SEP)mcl.c $(WMC_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(WMC_HOST_CXXFLAGS) -c $(WMC_BASE)$(SEP)mcl.c -o $(INTERMEDIATE)$(WMC_BASE)$(SEP)mcl.o
+       ${host_gcc} $(WMC_HOST_CXXFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(WMC_BASE)$(SEP)utils.o: $(WMC_BASE_DIR) $(WMC_BASE)$(SEP)utils.c
+$(WMC_BASE_DIR)$(SEP)utils.o: $(WMC_BASE)$(SEP)utils.c $(WMC_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(WMC_HOST_CXXFLAGS) -c $(WMC_BASE)$(SEP)utils.c -o $(INTERMEDIATE)$(WMC_BASE)$(SEP)utils.o
+       ${host_gcc} $(WMC_HOST_CXXFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(WMC_BASE)$(SEP)wmc.o: $(WMC_BASE_DIR) $(WMC_BASE)$(SEP)wmc.c
+$(WMC_BASE_DIR)$(SEP)wmc.o: $(WMC_BASE)$(SEP)wmc.c $(WMC_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(WMC_HOST_CXXFLAGS) -c $(WMC_BASE)$(SEP)wmc.c -o $(INTERMEDIATE)$(WMC_BASE)$(SEP)wmc.o
+       ${host_gcc} $(WMC_HOST_CXXFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(WMC_BASE)$(SEP)write.o: $(WMC_BASE_DIR) $(WMC_BASE)$(SEP)write.c
+$(WMC_BASE_DIR)$(SEP)write.o: $(WMC_BASE)$(SEP)write.c $(WMC_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(WMC_HOST_CXXFLAGS) -c $(WMC_BASE)$(SEP)write.c -o $(INTERMEDIATE)$(WMC_BASE)$(SEP)write.o
+       ${host_gcc} $(WMC_HOST_CXXFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(WMC_BASE)$(SEP)y_tab.o: $(WMC_BASE_DIR) $(WMC_BASE)$(SEP)y_tab.c
+$(WMC_BASE_DIR)$(SEP)y_tab.o: $(WMC_BASE)$(SEP)y_tab.c $(WMC_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(WMC_HOST_CXXFLAGS) -c $(WMC_BASE)$(SEP)y_tab.c -o $(INTERMEDIATE)$(WMC_BASE)$(SEP)y_tab.o
+       ${host_gcc} $(WMC_HOST_CXXFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(WMC_BASE)$(SEP)misc.o: $(WMC_BASE_DIR) $(WMC_BASE)$(SEP)misc.c
+$(WMC_BASE_DIR)$(SEP)misc.o: $(WMC_BASE)$(SEP)misc.c $(WMC_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(WMC_HOST_CXXFLAGS) -c $(WMC_BASE)$(SEP)misc.c -o $(INTERMEDIATE)$(WMC_BASE)$(SEP)misc.o
+       ${host_gcc} $(WMC_HOST_CXXFLAGS) -c $< -o $@
 
 .PHONY: wmc_clean
 wmc_clean:
index a012e75..59deb77 100644 (file)
@@ -1,10 +1,15 @@
-WPP_BASE = tools$(SEP)wpp
+WPP_BASE = $(TOOLS_BASE)$(SEP)wpp
 
-$(INTERMEDIATE)$(WPP_BASE): $(INTERMEDIATE_NO_SLASH) $(RMKDIR_TARGET)
-       ${mkdir} $(INTERMEDIATE)$(WPP_BASE)
+WPP_BASE_DIR = $(INTERMEDIATE)$(WPP_BASE)
+WPP_BASE_DIR_EXISTS = $(WPP_BASE_DIR)$(SEP)$(EXISTS)
+
+$(WPP_BASE_DIR_EXISTS): $(TOOLS_BASE_DIR_EXISTS)
+       $(ECHO_MKDIR)
+       ${mkdir} $(WPP_BASE_DIR)
+       @echo . > $@
 
 WPP_TARGET = \
-       $(INTERMEDIATE)$(WPP_BASE)$(SEP)libwpp.a
+       $(WPP_BASE_DIR)$(SEP)libwpp.a
 
 WPP_SOURCES = \
        $(WPP_BASE)$(SEP)lex.yy.c \
@@ -20,23 +25,23 @@ WPP_HOST_CFLAGS = -D__USE_W32API -I$(WPP_BASE) -Iinclude -Iinclude/wine -g
 .PHONY: wpp
 wpp: $(WPP_TARGET)
 
-$(WPP_TARGET): $(INTERMEDIATE)$(WPP_BASE) $(WPP_OBJECTS)
+$(WPP_TARGET): $(WPP_OBJECTS)
        $(ECHO_AR)
        ${host_ar} -rc $(WPP_TARGET) $(WPP_OBJECTS)
 
-$(INTERMEDIATE)$(WPP_BASE)$(SEP)lex.yy.o: $(WPP_BASE)$(SEP)lex.yy.c $(INTERMEDIATE)$(WPP_BASE)
+$(WPP_BASE_DIR)$(SEP)lex.yy.o: $(WPP_BASE)$(SEP)lex.yy.c $(WPP_BASE_DIR_EXISTS)
        $(ECHO_CC)
        ${host_gcc} $(WPP_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(WPP_BASE)$(SEP)preproc.o: $(WPP_BASE)$(SEP)preproc.c $(INTERMEDIATE)$(WPP_BASE)
+$(WPP_BASE_DIR)$(SEP)preproc.o: $(WPP_BASE)$(SEP)preproc.c $(WPP_BASE_DIR_EXISTS)
        $(ECHO_CC)
        ${host_gcc} $(WPP_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(WPP_BASE)$(SEP)wpp.o: $(WPP_BASE)$(SEP)wpp.c $(INTERMEDIATE)$(WPP_BASE)
+$(WPP_BASE_DIR)$(SEP)wpp.o: $(WPP_BASE)$(SEP)wpp.c $(WPP_BASE_DIR_EXISTS)
        $(ECHO_CC)
        ${host_gcc} $(WPP_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(WPP_BASE)$(SEP)wpp.tab.o: $(WPP_BASE)$(SEP)wpp.tab.c $(INTERMEDIATE)$(WPP_BASE)
+$(WPP_BASE_DIR)$(SEP)wpp.tab.o: $(WPP_BASE)$(SEP)wpp.tab.c $(WPP_BASE_DIR_EXISTS)
        $(ECHO_CC)
        ${host_gcc} $(WPP_HOST_CFLAGS) -c $< -o $@
 
index c9c6511..45ce8fd 100644 (file)
@@ -1,30 +1,39 @@
-WRC_BASE = tools$(SEP)wrc
+WRC_BASE = $(TOOLS_BASE)$(SEP)wrc
 
 WRC_BASE_DIR = $(INTERMEDIATE)$(WRC_BASE)
+WRC_BASE_DIR_EXISTS = $(WRC_BASE_DIR)$(SEP)$(EXISTS)
 
-$(WRC_BASE_DIR): $(INTERMEDIATE_NO_SLASH) $(RMKDIR_TARGET)
-       ${mkdir} $(INTERMEDIATE)$(WRC_BASE)
+$(WRC_BASE_DIR_EXISTS): $(TOOLS_BASE_DIR_EXISTS)
+       $(ECHO_MKDIR)
+       ${mkdir} $(WRC_BASE_DIR)
+       @echo . > $@
 
-WRC_BASE_PORT_DIR = $(INTERMEDIATE)$(WRC_BASE)$(SEP)port
+WRC_PORT_BASE = $(WRC_BASE)$(SEP)port
 
-$(WRC_BASE_PORT_DIR): $(RMKDIR_TARGET) $(WRC_BASE_DIR)
-       ${mkdir} $(INTERMEDIATE)$(WRC_BASE)$(SEP)port
+WRC_PORT_BASE_DIR = $(INTERMEDIATE)$(WRC_PORT_BASE)
+WRC_PORT_BASE_DIR_EXISTS = $(WRC_PORT_BASE_DIR)$(SEP)$(EXISTS)
+
+$(WRC_PORT_BASE_DIR_EXISTS): $(WRC_BASE_DIR_EXISTS)
+       $(ECHO_MKDIR)
+       ${mkdir} $(WRC_PORT_BASE_DIR)
+       @echo . > $@
 
 WRC_TARGET = \
-       $(INTERMEDIATE)$(WRC_BASE)$(SEP)wrc$(EXEPOSTFIX)
-
-WRC_SOURCES = \
-       $(WRC_BASE)$(SEP)dumpres.c \
-       $(WRC_BASE)$(SEP)genres.c \
-       $(WRC_BASE)$(SEP)newstruc.c \
-       $(WRC_BASE)$(SEP)readres.c \
-       $(WRC_BASE)$(SEP)translation.c \
-       $(WRC_BASE)$(SEP)utils.c \
-       $(WRC_BASE)$(SEP)wrc.c \
-       $(WRC_BASE)$(SEP)writeres.c \
-       $(WRC_BASE)$(SEP)y.tab.c \
-       $(WRC_BASE)$(SEP)lex.yy.c \
-       $(WRC_BASE)$(SEP)port$(SEP)mkstemps.o
+       $(WRC_BASE_DIR)$(SEP)wrc$(EXEPOSTFIX)
+
+WRC_SOURCES = $(addprefix $(WRC_BASE)$(SEP), \
+       dumpres.c \
+       genres.c \
+       newstruc.c \
+       readres.c \
+       translation.c \
+       utils.c \
+       wrc.c \
+       writeres.c \
+       y.tab.c \
+       lex.yy.c \
+       port$(SEP)mkstemps.c \
+       )
 
 WRC_OBJECTS = \
   $(addprefix $(INTERMEDIATE), $(WRC_SOURCES:.c=.o))
@@ -40,53 +49,53 @@ WRC_HOST_LFLAGS = -g
 .PHONY: wrc
 wrc: $(WRC_TARGET)
 
-$(WRC_TARGET): $(WRC_BASE_DIR) $(WRC_OBJECTS) $(UNICODE_TARGET) $(WPP_TARGET)
+$(WRC_TARGET): $(WRC_OBJECTS) $(UNICODE_TARGET) $(WPP_TARGET)
        $(ECHO_LD)
-       ${host_gcc} $(WRC_OBJECTS) $(UNICODE_TARGET) $(WPP_TARGET) $(WRC_HOST_LFLAGS) -o $(WRC_TARGET)
+       ${host_gcc} $(WRC_OBJECTS) $(UNICODE_TARGET) $(WPP_TARGET) $(WRC_HOST_LFLAGS) -o $@
 
-$(INTERMEDIATE)$(WRC_BASE)$(SEP)dumpres.o: $(WRC_BASE_DIR) $(WRC_BASE)$(SEP)dumpres.c
+$(WRC_BASE_DIR)$(SEP)dumpres.o: $(WRC_BASE)$(SEP)dumpres.c $(WRC_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(WRC_HOST_CFLAGS) -c $(WRC_BASE)$(SEP)dumpres.c -o $(INTERMEDIATE)$(WRC_BASE)$(SEP)dumpres.o
+       ${host_gcc} $(WRC_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(WRC_BASE)$(SEP)genres.o: $(WRC_BASE_DIR) $(WRC_BASE)$(SEP)genres.c
+$(WRC_BASE_DIR)$(SEP)genres.o: $(WRC_BASE)$(SEP)genres.c $(WRC_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(WRC_HOST_CFLAGS) -c $(WRC_BASE)$(SEP)genres.c -o $(INTERMEDIATE)$(WRC_BASE)$(SEP)genres.o
+       ${host_gcc} $(WRC_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(WRC_BASE)$(SEP)newstruc.o: $(WRC_BASE_DIR) $(WRC_BASE)$(SEP)newstruc.c
+$(WRC_BASE_DIR)$(SEP)newstruc.o: $(WRC_BASE)$(SEP)newstruc.c $(WRC_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(WRC_HOST_CFLAGS) -c $(WRC_BASE)$(SEP)newstruc.c -o $(INTERMEDIATE)$(WRC_BASE)$(SEP)newstruc.o
+       ${host_gcc} $(WRC_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(WRC_BASE)$(SEP)readres.o: $(WRC_BASE_DIR) $(WRC_BASE)$(SEP)readres.c
+$(WRC_BASE_DIR)$(SEP)readres.o: $(WRC_BASE)$(SEP)readres.c $(WRC_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(WRC_HOST_CFLAGS) -c $(WRC_BASE)$(SEP)readres.c -o $(INTERMEDIATE)$(WRC_BASE)$(SEP)readres.o
+       ${host_gcc} $(WRC_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(WRC_BASE)$(SEP)translation.o: $(WRC_BASE_DIR) $(WRC_BASE)$(SEP)translation.c
+$(WRC_BASE_DIR)$(SEP)translation.o: $(WRC_BASE)$(SEP)translation.c $(WRC_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(WRC_HOST_CFLAGS) -c $(WRC_BASE)$(SEP)translation.c -o $(INTERMEDIATE)$(WRC_BASE)$(SEP)translation.o
+       ${host_gcc} $(WRC_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(WRC_BASE)$(SEP)utils.o: $(WRC_BASE_DIR) $(WRC_BASE)$(SEP)utils.c
+$(WRC_BASE_DIR)$(SEP)utils.o: $(WRC_BASE)$(SEP)utils.c $(WRC_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(WRC_HOST_CFLAGS) -c $(WRC_BASE)$(SEP)utils.c -o $(INTERMEDIATE)$(WRC_BASE)$(SEP)utils.o
+       ${host_gcc} $(WRC_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(WRC_BASE)$(SEP)wrc.o: $(WRC_BASE_DIR) $(WRC_BASE)$(SEP)wrc.c
+$(WRC_BASE_DIR)$(SEP)wrc.o: $(WRC_BASE)$(SEP)wrc.c $(WRC_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(WRC_HOST_CFLAGS) -c $(WRC_BASE)$(SEP)wrc.c -o $(INTERMEDIATE)$(WRC_BASE)$(SEP)wrc.o
+       ${host_gcc} $(WRC_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(WRC_BASE)$(SEP)writeres.o: $(WRC_BASE_DIR) $(WRC_BASE)$(SEP)writeres.c
+$(WRC_BASE_DIR)$(SEP)writeres.o: $(WRC_BASE)$(SEP)writeres.c $(WRC_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(WRC_HOST_CFLAGS) -c $(WRC_BASE)$(SEP)writeres.c -o $(INTERMEDIATE)$(WRC_BASE)$(SEP)writeres.o
+       ${host_gcc} $(WRC_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(WRC_BASE)$(SEP)y.tab.o: $(WRC_BASE_DIR) $(WRC_BASE)$(SEP)y.tab.c
+$(WRC_BASE_DIR)$(SEP)y.tab.o: $(WRC_BASE)$(SEP)y.tab.c $(WRC_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(WRC_HOST_CFLAGS) -c $(WRC_BASE)$(SEP)y.tab.c -o $(INTERMEDIATE)$(WRC_BASE)$(SEP)y.tab.o
+       ${host_gcc} $(WRC_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(WRC_BASE)$(SEP)lex.yy.o: $(WRC_BASE_DIR) $(WRC_BASE)$(SEP)lex.yy.c
+$(WRC_BASE_DIR)$(SEP)lex.yy.o: $(WRC_BASE)$(SEP)lex.yy.c $(WRC_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(WRC_HOST_CFLAGS) -c $(WRC_BASE)$(SEP)lex.yy.c -o $(INTERMEDIATE)$(WRC_BASE)$(SEP)lex.yy.o
+       ${host_gcc} $(WRC_HOST_CFLAGS) -c $< -o $@
 
-$(INTERMEDIATE)$(WRC_BASE)$(SEP)port$(SEP)mkstemps.o: $(WRC_BASE_PORT_DIR) $(WRC_BASE)$(SEP)port$(SEP)mkstemps.c
+$(WRC_PORT_BASE_DIR)$(SEP)mkstemps.o: $(WRC_PORT_BASE)$(SEP)mkstemps.c $(WRC_PORT_BASE_DIR_EXISTS)
        $(ECHO_CC)
-       ${host_gcc} $(WRC_HOST_CFLAGS) -c $(WRC_BASE)$(SEP)port$(SEP)mkstemps.c -o $(INTERMEDIATE)$(WRC_BASE)$(SEP)port$(SEP)mkstemps.o
+       ${host_gcc} $(WRC_HOST_CFLAGS) -c $< -o $@
 
 .PHONY: wrc_clean
 wrc_clean: