ide/Makefile, default.cf: Updated to make use of .rc Windows resources build support
authorJerome St-Louis <jerome@ecere.com>
Fri, 10 May 2013 20:47:21 +0000 (16:47 -0400)
committerJerome St-Louis <jerome@ecere.com>
Fri, 10 May 2013 20:47:21 +0000 (16:47 -0400)
default.cf
ide/Makefile

index 66f6b0d..1eb404c 100644 (file)
@@ -18,6 +18,18 @@ export ECP := $(call psep,$(EC_BINS)ecp$(HOST_E))
 export ECC := $(call psep,$(EC_BINS)ecc$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
 export ECS := $(call psep,$(EC_BINS)ecs$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
 export EAR := $(call psep,$(_CF_DIR)obj/$(HOST_PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/ear$(HOST_E))
+ifdef WINDOWS_TARGET
+WINDRES := $(GCC_PREFIX)windres
+ ifdef ARCH
+  ifeq "$(ARCH)" "x32"
+WINDRES_FLAGS := -F pe-i386
+  else
+   ifeq "$(ARCH)" "x64"
+WINDRES_FLAGS := -F pe-x86-64
+   endif
+  endif
+ endif
+endif
 UPX := upx
 
 ifndef ARCH
index 1883806..a11f05f 100644 (file)
@@ -3,6 +3,7 @@
 # CORE VARIABLES
 
 MODULE := ide
+VERSION := 
 CONFIG := release
 ifndef COMPILER
 COMPILER := default
@@ -100,9 +101,23 @@ ECOBJECTS = $(call shwspace,$(addprefix $(OBJ),$(patsubst %.ec,%$(O),$(notdir $(
 
 BOWLS = $(call shwspace,$(addprefix $(OBJ),$(patsubst %.ec,%$(B),$(notdir $(_ECSOURCES)))))
 
-OBJECTS = $(ECOBJECTS) $(OBJ)$(MODULE).main$(O)
+ifdef WINDOWS_TARGET
+
+_RCSOURCES = \
+       src/resources.rc
+
+RCSOURCES = $(call shwspace,$(_RCSOURCES))
+
+RCOBJECTS = $(call shwspace,$(addprefix $(OBJ),$(patsubst %.rc,%$(O),$(notdir $(_RCSOURCES)))))
+
+else
+RCSOURCES =
+RCOBJECTS =
+endif
 
-SOURCES = $(ECSOURCES)
+OBJECTS = $(ECOBJECTS) $(OBJ)$(MODULE).main$(O) $(RCOBJECTS)
+
+SOURCES = $(ECSOURCES) $(RCSOURCES)
 
 RESOURCES = $(RESOURCES1) $(RESOURCES2)
 RESOURCES1 = \
@@ -186,13 +201,6 @@ ECFLAGS += \
 
 # PLATFORM-SPECIFIC OPTIONS
 
-ifdef WINDOWS_TARGET
-
-ifndef STATIC_LIBRARY_TARGET
-LIBS += $(OBJ)resources.o
-endif
-
-else
 ifdef LINUX_TARGET
 
 ifndef STATIC_LIBRARY_TARGET
@@ -214,7 +222,6 @@ endif
 
 endif
 endif
-endif
 
 
 
@@ -242,11 +249,8 @@ $(OBJ)$(MODULE).main.c: $(OBJ)$(MODULE).main.ec
 
 $(SYMBOLS): | objdir
 $(OBJECTS): | objdir
-$(TARGET): $(SOURCES) $(RESOURCES) $(SYMBOLS) $(OBJECTS) | objdir
+$(TARGET): $(SOURCES) $(RCSOURCES) $(RESOURCES) $(SYMBOLS) $(OBJECTS) | objdir
 ifndef STATIC_LIBRARY_TARGET
-ifdef WINDOWS_TARGET
-$(TARGET): $(OBJ)resources.o
-endif
        $(CC) $(OFLAGS) $(OBJECTS) $(LIBS) -o $(TARGET) $(INSTALLNAME)
 ifndef NOSTRIP
        $(STRIP) $(STRIPOPT) $(TARGET)
@@ -266,11 +270,6 @@ else
 endif
        $(call cpq,$(TARGET),../obj/$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/bin/)
 
-ifdef WINDOWS_TARGET
-$(OBJ)resources.o: src/icon2.ico src/resources.rc | objdir
-       $(GCC_PREFIX)windres src/resources.rc $(OBJ)resources.o
-endif
-
 # SYMBOL RULES
 
 $(OBJ)FileSystemIterator.sym: ../extras/FileSystemIterator.ec
@@ -672,6 +671,12 @@ $(OBJ)ProjectSettings.o: $(OBJ)ProjectSettings.c
 $(OBJ)licensing.o: $(OBJ)licensing.c
        $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(OBJ)licensing.c -o $(OBJ)licensing.o
 
+ifdef WINDOWS_TARGET
+
+$(OBJ)resources.o: src/resources.rc
+       $(WINDRES) $(WINDRES_FLAGS) $< $@
+endif
+
 $(OBJ)$(MODULE).main$(O): $(OBJ)$(MODULE).main.c
        $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(OBJ)$(MODULE).main.c -o $(OBJ)$(MODULE).main$(O)
 
@@ -680,15 +685,15 @@ cleantarget: objdir
 
 clean: cleantarget
        $(call rmq,$(_OBJECTS))
+ifdef WINDOWS_TARGET
+       $(call rmq,$(RCOBJECTS))
+endif
        $(call rmq,$(OBJ)$(MODULE).main.o $(OBJ)$(MODULE).main.c $(OBJ)$(MODULE).main.ec $(OBJ)$(MODULE).main$(I) $(OBJ)$(MODULE).main$(S))
        $(call rmq,$(ECOBJECTS))
        $(call rmq,$(COBJECTS))
        $(call rmq,$(BOWLS))
        $(call rmq,$(IMPORTS))
        $(call rmq,$(SYMBOLS))
-ifdef WINDOWS_TARGET
-       $(call rmq,$(OBJ)resources.o)
-endif
 
 realclean: cleantarget
        $(call rmrq,$(OBJ))