Browse Source

Makefiles seperate object file names; makes parallel building possible

Pal Lockheart 7 years ago
parent
commit
ac8c0f622c
8 changed files with 58 additions and 44 deletions
  1. 2 2
      .travis.yml
  2. 7 5
      dingux/Makefile
  3. 7 5
      emscripten/Makefile
  4. 8 6
      gph/Makefile
  5. 7 5
      unix/Makefile
  6. 7 5
      wii/Makefile
  7. 9 7
      win32/Makefile
  8. 11 9
      win32/Makefile.mingw

+ 2 - 2
.travis.yml

@@ -46,8 +46,8 @@ matrix:
         script:
           - cd win32
           - make HOST=i686-w64-mingw32-
-          - i686-w64-mingw32-strip sdlpal.exe
-          - zip sdlpal-mingw32.zip sdlpal.exe
+          - i686-w64-mingw32-strip sdlpal-mingw.exe
+          - zip sdlpal-mingw32.zip sdlpal-mingw.exe
           - mv sdlpal-mingw32.zip ../deploy/
           - cd ..
 

+ 7 - 5
dingux/Makefile

@@ -1,31 +1,33 @@
 TARGET = sdlpal.dge
 
+INTER=.dingux
+
 HOST = mipsel-linux-uclibc-
 
-DEPFLAGS = -MT $@ -MMD -MP -MF $*.Td
+DEPFLAGS = -MT $@ -MMD -MP -MF $*$(INTER).Td
 
 SOURCES = . ./adplug
 CFILES = $(foreach dir, $(SOURCES), $(wildcard $(dir)/*.c))
 CPPFILES = $(foreach dir, $(SOURCES), $(wildcard $(dir)/*.cpp))
-OFILES = $(CFILES:.c=.o) $(CPPFILES:.cpp=.o)
+OFILES = $(CFILES:.c=$(INTER).o) $(CPPFILES:.cpp=$(INTER).o)
 DEPFILES = $(OFILES:.o=.d) 
 
 CFLAGS = -g -Wall -O2 `sdl-config --cflags` -DDINGOO -DPAL_CLASSIC -DPAL_HAS_PLATFORM_SPECIFIC_UTILS  -I. -I../ -I../liboggvorbis/include -I../liboggvorbis/src $(DEPFLAGS) 
 CXXFLAGS = $(CFLAGS)
 LDFLAGS = `sdl-config --libs`
 
-POSTCOMPILE = @mv -f $*.Td $*.d && touch $@
+POSTCOMPILE = @mv -f $*$(INTER).Td $*$(INTER).d && touch $@
 
 $(TARGET): $(OFILES)
 	@echo [LD] $@
 	@$(HOST)g++ $(OFILES) -o $@ $(LDFLAGS)
 
-%.o: %.c %.d
+%$(INTER).o: %.c %$(INTER).d
 	@echo [CC] $<
 	@$(HOST)gcc $(CFLAGS) -c $< -o $@
 	$(POSTCOMPILE)
 
-%.o: %.cpp %.d
+%$(INTER).o: %.cpp %$(INTER).d
 	@echo [CC] $<
 	@$(HOST)g++ $(CXXFLAGS) -c $< -o $@
 	$(POSTCOMPILE)

+ 7 - 5
emscripten/Makefile

@@ -4,27 +4,29 @@
 TARGET = sdlpal.html
 EMFILES = sdlpal.{html,js,mem,data,bc,wast,wasm}
 
+INTER=.emscripten
+
 HOST =
 
-DEPFLAGS = -MT $@ -MMD -MP -MF $*.Td
+DEPFLAGS = -MT $@ -MMD -MP -MF $*$(INTER).Td
 
 CFILES = $(wildcard ../adplug/*.c) $(wildcard ../libmad/*.c) $(wildcard ../liboggvorbis/src/*.c) $(wildcard ../*.c) em.c
 CPPFILES = $(wildcard ../adplug/*.cpp) $(wildcard ../*.cpp) $(wildcard ./*.cpp)
-OBJFILES = $(CFILES:.c=.o) $(CPPFILES:.cpp=.o)
+OBJFILES = $(CFILES:.c=$(INTER).o) $(CPPFILES:.cpp=$(INTER).o)
 DEPFILES = $(OBJFILES:.o=.d)
 
 CFLAGS = -I${EMSCRIPTEN_TOOLCHAIN}/include/SDL2 -g -Wall -Oz -fno-strict-aliasing -I. -I../ -I../liboggvorbis/include -I../liboggvorbis/src -DPAL_HAS_PLATFORM_SPECIFIC_UTILS $(DEPFLAGS) 
 CPPFLAGS = $(CFLAGS)
 override LDFLAGS += -Oz -L${EMSCRIPTEN_TOOLCHAIN}/lib -lSDL2 -lm -lstdc++ --preload-file data -s TOTAL_MEMORY=134217728 -s TOTAL_STACK=5242880 --emrun -s DEMANGLE_SUPPORT=1 -s EMTERPRETIFY=1 -s EMTERPRETIFY_ASYNC=1 -s 'EMTERPRETIFY_FILE="sdlpal.bc"' -s WASM=1
 
-POSTCOMPILE = @mv -f $*.Td $*.d && touch $@
+POSTCOMPILE = @mv -f $*$(INTER).Td $*$(INTER).d && touch $@
 
-%.o: %.c %.d
+%$(INTER).o: %.c %$(INTER).d
 	@echo [CC] $<
 	@emcc -c $(CFLAGS) -o $@ $<
 	$(POSTCOMPILE)
 
-%.o: %.cpp %.d
+%$(INTER).o: %.cpp %$(INTER).d
 	@echo [CC] $<
 	@em++ -c $(CPPFLAGS) -o $@ $<
 	$(POSTCOMPILE)

+ 8 - 6
gph/Makefile

@@ -3,6 +3,8 @@ BUILD_CAANOO = YES
 
 TARGET = sdlpal.gpe
 
+INTER=.gph
+
 ifeq ($(BUILD_GP2XWIZ), YES)
 HOST = arm-open2x-linux-
 DEVICE = -DGP2XWIZ
@@ -13,36 +15,36 @@ DEVICE = -DCAANOO
 endif
 endif
 
-DEPFLAGS = -MT $@ -MMD -MP -MF $*.Td
+DEPFLAGS = -MT $@ -MMD -MP -MF $*$(INTER).Td
 
 SOURCES = . .. ../adplug
 CFILES = $(foreach dir, $(SOURCES), $(wildcard $(dir)/*.c))
 CPPFILES = $(foreach dir, $(SOURCES), $(wildcard $(dir)/*.cpp))
-OFILES = $(CFILES:.c=.o) $(CPPFILES:.cpp=.o)
+OFILES = $(CFILES:.c=$(INTER).o) $(CPPFILES:.cpp=$(INTER).o)
 DEPFILES = $(OFILES:.o=.d) 
 
 CFLAGS = -g -Wall -O2 `sdl-config --cflags` -DGPH $(DEVICE) -DPAL_HAS_PLATFORM_SPECIFIC_UTILS -I. -I../ -I../liboggvorbis/include -I../liboggvorbis/src $(DEPFLAGS)
 CXXFLAGS = $(CFLAGS)
 LDFLAGS = `sdl-config --libs`
 
-POSTCOMPILE = @mv -f $*.Td $*.d && touch $@
+POSTCOMPILE = @mv -f $*$(INTER).Td $*$(INTER).d && touch $@
 
 $(TARGET): $(OFILES)
 	@echo [LD] $@
 	@$(HOST)g++ $(OFILES) -o $@ $(LDFLAGS)
 
-%.o: %.c
+%$(INTER).o: %.c %$(INTER).d
 	@echo [CC] $<
 	@$(HOST)gcc $(CFLAGS) -c $< -o $@
 	$(POSTCOMPILE)
 
-%.o: %.cpp
+%$(INTER).o: %.cpp %$(INTER).d
 	@echo [CC] $<
 	@$(HOST)g++ $(CXXFLAGS) -c $< -o $@
 	$(POSTCOMPILE)
 
 clean:
-	rm -f $(TARGET) $(OFILES)
+	rm -f $(TARGET) $(OFILES) $(DEPFILES)
 
 %.d: ;
 .PRECIOUS: %.d

+ 7 - 5
unix/Makefile

@@ -3,18 +3,20 @@
 TARGET = sdlpal
 TEST_TARGET = ./sdlpal-tests
 
+INTER=.unix
+
 HOST =
 TEST_CCFLAGS =
 
 GENERATED = -DPAL_HAS_GIT_REVISION $(shell ../scripts/gengitrev)
 
-DEPFLAGS = -MT $@ -MMD -MP -MF $*.Td
+DEPFLAGS = -MT $@ -MMD -MP -MF $*$(INTER).Td
 
 GTEST_DIR = ../3rd/googletest/googletest
 
 CFILES = $(wildcard ../adplug/*.c) $(wildcard ../libmad/*.c) $(wildcard ../liboggvorbis/src/*.c) $(wildcard ../*.c) 
 CPPFILES = $(wildcard ../adplug/*.cpp) $(wildcard ../*.cpp) $(wildcard ./*.cpp)
-OBJFILES = $(CFILES:.c=.o) $(CPPFILES:.cpp=.o)
+OBJFILES = $(CFILES:.c=$(INTER).o) $(CPPFILES:.cpp=$(INTER).o)
 DEPFILES = $(OBJFILES:.o=.d) 
 TEST_CPPFILES = $(wildcard ../tests/*.cpp)
 TEST_OBJFILES = $(TEST_CPPFILES:.cpp=.o)
@@ -26,7 +28,7 @@ CFLAGS = $(CCFLAGS) -std=gnu99 `fltk-config --cflags`
 LDFLAGS = `$(SDL_CONFIG) --libs` `fltk-config --ldflags` -lstdc++ -lm -pthread
 TEST_CXXFLAGS += -isystem $(GTEST_DIR)/include -I $(GTEST_DIR) -g -Wall -Wextra -pthread
 
-POSTCOMPILE = @mv -f $*.Td $*.d && touch $@
+POSTCOMPILE = @mv -f $*$(INTER).Td $*$(INTER).d && touch $@
 
 .PHONY : all clean check
 
@@ -41,12 +43,12 @@ gtest-all.o : $(GTEST_DIR)/src/gtest-all.cc %.d
 	@$(HOST)g++ $(DEPFLAGS) $(TEST_CXXFLAGS) -c $< -o $@
 	$(POSTCOMPILE)
 
-%.o: %.c %.d
+%$(INTER).o: %.c %$(INTER).d
 	@echo [CC] $<
 	@$(HOST)gcc $(DEPFLAGS) $(CFLAGS) -c $< -o $@
 	$(POSTCOMPILE)
 
-%.o: %.cpp %.d
+%$(INTER).o: %.cpp %$(INTER).d
 	@echo [CC] $<
 	@$(HOST)g++ $(DEPFLAGS) $(CXXFLAGS) -c $< -o $@
 	$(POSTCOMPILE)

+ 7 - 5
wii/Makefile

@@ -1,32 +1,34 @@
 TARGET = boot
 
+INTER=.wii
+
 HOST = powerpc-eabi-
 
-DEPFLAGS = -MT $@ -MMD -MP -MF $*.Td
+DEPFLAGS = -MT $@ -MMD -MP -MF $*$(INTER).Td
 
 SOURCES = . .. ../adplug
 CFILES = $(foreach dir, $(SOURCES), $(wildcard $(dir)/*.c)) 
 CPPFILES = $(foreach dir, $(SOURCES), $(wildcard $(dir)/*.cpp))
-OFILES = $(CFILES:.c=.o) $(CPPFILES:.cpp=.o)
+OFILES = $(CFILES:.c=$(INTER).o) $(CPPFILES:.cpp=$(INTER).o)
 DEPFILES = $(OFILES:.o=.d) 
 
 CFLAGS = -g -Wall -O2 `sdl-config --cflags` -DGEKKO -DPAL_HAS_PLATFORM_SPECIFIC_UTILS -I. -I../ -I../liboggvorbis/include -I../liboggvorbis/src $(DEPFLAGS) 
 CXXFLAGS = $(CFLAGS)
 LDFLAGS = `sdl-config --libs` -DGEKKO -mrvl
 
-POSTCOMPILE = @mv -f $*.Td $*.d && touch $@
+POSTCOMPILE = @mv -f $*$(INTER).Td $*$(INTER).d && touch $@
 
 $(TARGET): $(OFILES)
 	@echo [LD] $@
 	@$(HOST)g++ $(OFILES) -o $@.elf $(LDFLAGS)
 	@elf2dol $(TARGET).elf $(TARGET).dol
 
-%.o: %.c %.d
+%$(INTER).o: %.c %$(INTER).d
 	@echo [CC] $<
 	@$(HOST)gcc $(CFLAGS) -c $< -o $@
 	$(POSTCOMPILE)
 
-%.o: %.cpp %.d
+%$(INTER).o: %.cpp %$(INTER).d
 	@echo [CC] $<
 	@$(HOST)g++ $(CXXFLAGS) -c $< -o $@
 	$(POSTCOMPILE)

+ 9 - 7
win32/Makefile

@@ -3,20 +3,22 @@
 TARGET = sdlpal.exe
 TEST_TARGET = sdlpal-tests.exe
 
+INTER=.msys
+
 HOST =
 TEST_CCFLAGS =
 
 GENERATED = -DPAL_HAS_GIT_REVISION $(shell ../scripts/gengitrev)
 
-DEPFLAGS = -MT $@ -MMD -MP -MF $*.Td
+DEPFLAGS = -MT $@ -MMD -MP -MF $*$(INTER).Td
 
 GTEST_DIR = ../3rd/googletest/googletest
 
 CFILES = $(wildcard ../adplug/*.c) $(wildcard ../libmad/*.c) $(wildcard ../liboggvorbis/src/*.c) $(wildcard ../*.c) $(wildcard ../native_midi/*.c) $(wildcard ../win32/*.c)
 CPPFILES = $(wildcard ../adplug/*.cpp) $(wildcard ../*.cpp) $(wildcard ./*.cpp)
 RCFILES = $(wildcard ./sdlpal.rc)
-OBJFILES = $(CFILES:.c=.o) $(CPPFILES:.cpp=.o) $(RCFILES:.rc=.o)
-DEPFILES = $(CFILES:.c=.d) $(CPPFILES:.cpp=.d)
+OBJFILES = $(CFILES:.c=$(INTER).o) $(CPPFILES:.cpp=$(INTER).o) $(RCFILES:.rc=$(INTER).o)
+DEPFILES = $(CFILES:.c=$(INTER).d) $(CPPFILES:.cpp=$(INTER).d)
 TEST_CPPFILES = $(wildcard ../tests/*.cpp)
 TEST_OBJFILES = $(TEST_CPPFILES:.cpp=.o)
 
@@ -26,7 +28,7 @@ CFLAGS = $(CCFLAGS) -std=gnu99
 LDFLAGS = `sdl2-config --libs` -lm -lwinmm -lole32 -loleaut32 -limm32 -lcomctl32 -luuid -ldxguid -lversion -static -static-libgcc -static-libstdc++
 TEST_CXXFLAGS += -isystem $(GTEST_DIR)/include -I $(GTEST_DIR) -g -Wall -Wextra -pthread
 
-POSTCOMPILE = @mv -f $*.Td $*.d && touch $@
+POSTCOMPILE = @mv -f $*$(INTER).Td $*$(INTER).d && touch $@
 
 .PHONY : all clean check
 
@@ -41,17 +43,17 @@ gtest-all.o : $(GTEST_DIR)/src/gtest-all.cc %.d
 	@$(HOST)g++ $(DEPFLAGS) $(TEST_CXXFLAGS) -c $< -o $@
 	$(POSTCOMPILE)
 
-%.o: %.c %.d
+%$(INTER).o: %.c %$(INTER).d
 	@echo [CC] $<
 	@$(HOST)gcc $(DEPFLAGS) $(CFLAGS) -c $< -o $@
 	$(POSTCOMPILE)
 
-%.o: %.cpp %.d
+%$(INTER).o: %.cpp %$(INTER).d
 	@echo [CC] $<
 	@$(HOST)g++ $(DEPFLAGS) $(CXXFLAGS) -c $< -o $@
 	$(POSTCOMPILE)
 
-%.o: %.rc
+%$(INTER).o: %.rc
 	@echo [RES] $^
 	@$(HOST)windres -i $^ -o $@
 

+ 11 - 9
win32/Makefile.mingw

@@ -1,22 +1,24 @@
 # Makefile for win32 platforms with mingw under win32
 
-TARGET = sdlpal.exe
-TEST_TARGET = sdlpal-tests.exe
+TARGET = sdlpal-mingw.exe
+TEST_TARGET = sdlpal-mingw-tests.exe
+
+INTER=.mingw
 
 HOST =
 TEST_CCFLAGS =
 
 GENERATED = -DPAL_HAS_GIT_REVISION $(shell ..\scripts\gengitrev.bat)
 
-DEPFLAGS = -MT $@ -MMD -MP -MF $*.Td
+DEPFLAGS = -MT $@ -MMD -MP -MF $*$(INTER).Td
 
 GTEST_DIR = ../3rd/googletest/googletest
 
 CFILES = $(wildcard ../adplug/*.c) $(wildcard ../libmad/*.c) $(wildcard ../liboggvorbis/src/*.c) $(wildcard ../*.c) $(wildcard ../native_midi/*.c) $(wildcard ../win32/*.c)
 CPPFILES = $(wildcard ../adplug/*.cpp) $(wildcard ../*.cpp) $(wildcard ./*.cpp)
 RCFILES = $(wildcard ./sdlpal.rc)
-OBJFILES = $(CFILES:.c=.o) $(CPPFILES:.cpp=.o) $(RCFILES:.rc=.o)
-DEPFILES = $(CFILES:.c=.d) $(CPPFILES:.cpp=.d)
+OBJFILES = $(CFILES:.c=$(INTER).o) $(CPPFILES:.cpp=$(INTER).o) $(RCFILES:.rc=$(INTER).o)
+DEPFILES = $(CFILES:.c=$(INTER).d) $(CPPFILES:.cpp=$(INTER).d)
 TEST_CPPFILES = $(wildcard ../tests/*.cpp)
 TEST_OBJFILES = $(TEST_CPPFILES:.cpp=.o)
 
@@ -26,7 +28,7 @@ CFLAGS = $(CCFLAGS) -std=gnu99
 LDFLAGS = -lmingw32 -lSDL2main -lSDL2 -mwindows -lm -lwinmm -lole32 -loleaut32 -limm32 -lcomctl32 -luuid -ldxguid -lversion -static -static-libgcc -static-libstdc++
 TEST_CXXFLAGS += -isystem $(GTEST_DIR)/include -I $(GTEST_DIR) -g -Wall -Wextra -pthread
 
-POSTCOMPILE = @move /Y $(subst /,\,$*).Td $(subst /,\,$*).d > NUL 2>&1 && type NUL >> $(subst /,\,$@)
+POSTCOMPILE = @move /Y $(subst /,\,$*)$(INTER).Td $(subst /,\,$*)$(INTER).d > NUL 2>&1 && type NUL >> $(subst /,\,$@)
 
 .PHONY : all clean check
 
@@ -41,17 +43,17 @@ gtest-all.o : $(GTEST_DIR)/src/gtest-all.cc %.d
 	@$(HOST)g++ $(DEPFLAGS) $(TEST_CXXFLAGS) -c $< -o $@
 	$(POSTCOMPILE)
 
-%.o: %.c %.d
+%$(INTER).o: %.c %$(INTER).d
 	@echo [CC] $<
 	@$(HOST)gcc $(DEPFLAGS) $(CFLAGS) -c $< -o $@
 	$(POSTCOMPILE)
 
-%.o: %.cpp %.d
+%$(INTER).o: %.cpp %$(INTER).d
 	@echo [CC] $<
 	@$(HOST)g++ $(DEPFLAGS) $(CXXFLAGS) -c $< -o $@
 	$(POSTCOMPILE)
 
-%.o: %.rc
+%$(INTER).o: %.rc
 	@echo [RES] $^
 	@$(HOST)windres -i $^ -o $@