#---------------------------------------------------------------------------- # MAKEFILE # # Controlling makefile for Power Rangers Light Speed Rescue PSX # # Tabbed for 5 9 (Please do not change) # # Created: 3rd February 1999 GRLiddon() # # Copyright (C) 1997-1999 G R Liddon #---------------------------------------------------------------------------- #---------------------------------------------------------------------------- # Default Target # -------------- .PHONY: default default : all #---------------------------------------------------------------------------- # Name of the project # -------------------- PROJ := Spongey #---------------------------------------------------------------------------- USE_EGCS := 1 BUILD_DIR := build #---------------------------------------------------------------------------- # Includes # -------- include $(BUILD_DIR)/globals.mak include $(BUILD_DIR)/getuser.mak include $(BUILD_DIR)/parse.mak #---------------------------------------------------------------------------- # File Sys specifics #---------------------------------------------------------------------------- PC_FILESYS_SRC := pcfile PC_STARTUP_OBJ := PC_FILESYS_LIB := libsn CD_FILESYS_SRC := cdfile CD_STARTUP_OBJ := BootObj\snmain CD_FILESYS_LIB := CMXBoot #---------------------------------------------------------------------------- # Source Code to Compile #---------------------------------------------------------------------------- backend_src := gameover \ complete enemy_src := npc \ npcdata \ npcpath \ nsjfish \ nclam \ nscrab \ ngpirate \ nshrkman \ ngeneric \ nanemone \ neyeball \ nsstomp \ nbooger \ nmjfish \ nfdutch \ nsshark \ ndogfish \ nffolk \ nocto \ nfskull \ nsklfish \ nworm \ nhcrab \ nbblob \ npuffa \ ngen \ nsdart \ ndustdev \ npbug \ nprojjf \ nmjback \ nsjback \ nsj2back \ nbuttfly \ nshell \ nssnake friend_src := friend \ fdata \ fgary \ fsquid \ fsandy \ fkrusty \ fpatrick \ fplnkton platform_src := platform \ platdata \ plinear \ pcirculr \ pbubble \ pfishhk \ pgeyser \ pbob \ pfalling \ pcart \ pretract \ pbranch \ ppendulm \ pseesaw \ pbounce \ pdual \ pfgen \ pfallnor \ praft \ plantern \ pbgeyser \ pleaf \ pbwheel \ psbarrel \ pjellfsh \ pclam \ pfishhk3 \ prbridge \ pbaloon \ ptrpdoor \ pconveyr \ pplayer \ pcbubble hazard_src := hazard \ hfalling \ hpendulm \ hfirebal \ hsaw \ hbarrel \ hboat \ hcsaw \ hmower \ hmasher \ hfan \ hspikes \ hbwheel \ hdbarrel \ hbbarrel \ hrrock \ hflytrap \ hrweight \ hrwheel \ hpswitch \ hrckshrd \ hinert fx_src := fx \ fxbaseanim \ fxbasetrail \ fxbaseemitter \ fxbubble \ fxnrgbar \ fxjfish \ fxfallingtile \ fxsteam projectl_src := projectl \ prnpc \ prnpcspr fileio_src := fileio \ $($(FILE_SYSTEM)_FILESYS_SRC) frontend_src := credits \ demomode \ frontend \ fmvthq \ fmvintro \ maintitl \ options \ scrollbg \ start fmv_src := fmv game_src := convo \ game \ gamebubs \ gameslot \ pause gfx_src := prim \ tpage \ animtex \ sprbank \ fader \ fdata \ font \ bubicles \ actor gui_src := gbubbles \ gbutton \ gfactory \ gframe \ greadout \ gsprite \ gtextbox \ gui jellfish_src := jellfish level_src := level \ layertile \ layerback \ layertile3d \ layercollision locale_src := textdbase map_src := map mem_src := memory memcard_src := md5 \ memcard \ saveload pad_src := pads paul_src := paul \ scenesel pickups_src := pickup \ pballoon \ pblower \ pbubmix \ pglasses \ phealth \ phelmet \ pjlammo \ pkelp \ plife \ pnet \ pquest \ pshoes \ pspatula player_src := demoplay \ panimsfx \ player \ pmodes \ pmbloon \ pmbubble \ pmchop \ pmcoral \ pmdead \ pmfly \ pmjelly \ pmnet \ psbutt \ pslook \ psduck \ psfall \ pshitgnd \ psidle \ psjmpbck \ psjump \ psrun \ psspring script_src := script \ function sound_src := sound \ spu \ xmplay \ cdxa system_src := main \ gstate \ vid \ dbg \ vsprintf \ clickcount \ except thing_src := thing triggers_src := trigger \ tcamlock \ tlevexit \ tlook \ trestart \ tteleprt \ twater \ tplatfrm \ tgarygo \ tfemit \ tbemit \ tifemit \ tggleft \ tggright \ tgstop utils_src := utils \ sincos \ pak utils_src_mip := mathmip \ replace system_src_mip := except_a \ gp \ lnkopt \ $(VERSION)/$(TERRITORY)/$(FILE_SYSTEM)/info # # Compile Build Lists # ---------------------------- SRC_DIRS := $(patsubst $(SOURCE_DIR)/%,%,$(wildcard $(SOURCE_DIR)/*)) ALL_ASM_OBJS := $(foreach SRC_DIR,$(SRC_DIRS),$(foreach FILE,$($(SRC_DIR)_src_mip),$(SRC_DIR)/$(FILE).o)) ALL_CPP_OBJS := $(foreach SRC_DIR,$(SRC_DIRS),$(foreach FILE,$($(SRC_DIR)_src),$(SRC_DIR)/$(FILE).o)) ALL_CODE_OBJS := $(ALL_ASM_OBJS) $(ALL_CPP_OBJS) #---------------------------------------------------------------------------- # Libraries we need #---------------------------------------------------------------------------- include $(BUILD_DIR)/outdirs.mak #---------------------------------------------------------------------------- # Libraries we need #---------------------------------------------------------------------------- PSX_LIBS := libc libapi libetc libspu libsnd \ libgpu libcard libpress \ libcd libtap libcomb libmcrd \ libgte libpad libds MOD_LIBS := xmplay PSX_LIBS_FULL := $(foreach FILE,$(PSX_LIBS),$(PSYQ_LIB_DIR)/$(FILE).lib) FILESYS_LIBS_FULL := $(foreach FILE,$($(FILE_SYSTEM)_FILESYS_LIB),$(PSYQ_LIB_DIR)/$(FILE).lib) MOD_LIBS_FULL := $(foreach FILE,$(MOD_LIBS),$(MOD_LIB_DIR)/$(FILE).lib) ALL_LIBS_FULL := $(PSX_LIBS_FULL) $(MOD_LIBS_FULL) $(FILESYS_LIBS_FULL) EXTRA_OBJS := $(VLC_LIB_DIR)/vlc_bit.o #---------------------------------------------------------------------------- # Do all the stuff we need to do to build the source code into obj files #---------------------------------------------------------------------------- .PHONY : code cleancode # Cpp files first # --------------- include $(BUILD_DIR)/ccopt.mak $(OBJ_DIR)/%.o : $(SOURCE_DIR)/%.cpp @$(ECHO) Compiling $< @$(CC) -c $(COMMON_CCFLAGS) $< -o a.o @dmpsx -b a.o @objbodge a.o $@ @$(RM) a.o # Stuff to make Info.mip # ---------------------- arse: $(SOURCE_DIR)/system/$(VERSION)/$(TERRITORY)/$(FILE_SYSTEM)/info.mip $(SOURCE_DIR)/system/$(VERSION)/$(TERRITORY)/$(FILE_SYSTEM)/info.mip : makefile.gaz $(USER_VAR_FILE) @$(REDIR) $@ \ '$(TAB)section .rdata' \ '$(TAB)global INF_Version' \ '$(TAB)global INF_Territory' \ '$(TAB)global INF_FileSystem' \ 'INF_Version db &$(VERSION)&,0' \ 'INF_Territory db &$(TERRITORY)&,0' \ 'INF_FileSystem db &$(FILE_SYSTEM)&,0' # Assembly here # ------------- $(OBJ_DIR)/%.o : $(SOURCE_DIR)/%.mip @$(ECHO) Assembling $< @$(ASM) $(ASM_OPTS) $<,$@ # Overal stuff here # ----------------- CODE_OBJS_TO_MAKE := $(foreach FILE,$(ALL_CODE_OBJS),$(OBJ_DIR)/$(FILE)) code : $(CODE_OBJS_TO_MAKE) cleancode : @$(RM) -f $(CODE_OBJS_TO_MAKE) @$(ECHO) Cleaned code output #---------------------------------------------------------------------------- # Do all the stuff we need to make our CPE, MAP and EXE files #---------------------------------------------------------------------------- .PHONY: link cleanlink include $(BUILD_DIR)/lnk.mak CPE_FILE := $(VERSION_DIR)/$(PROJ).cpe MAP_FILE := $(VERSION_DIR)/$(PROJ).map SYM_FILE := $(VERSION_DIR)/$(PROJ).sym LINK_FILE := $(TEMP_DIR)/$(PROJ).ln $(LINK_FILE) : makefile.gaz $(BUILD_DIR)/lnk.mak $(USER_VAR_FILE) @$(REDIR) $(LINK_FILE) $(LINKER_FILE_MACRO) LINK_FILES_TO_MAKE := $(CPE_FILE) $(MAP_FILE) $(SYM_FILE) $(LINK_FILES_TO_MAKE) : $(LINK_FILE) $(ALL_LIBS_FULL) $(CODE_OBJS_TO_MAKE) @$(LNK) $(LNK_FLAGS) @$(LINK_FILE),$(CPE_FILE),$(SYM_FILE),$(MAP_FILE) symmunge $(SYM_FILE) ifeq ($(USER_NAME),daveox) @cp stats.txt '$(SIZES_DIR)/$(shell $(DATE) '+%d-%m-%Y_%H-%M-%S')' endif link : $(LINK_FILES_TO_MAKE) cleanlink : @$(RM) -f $(LINK_FILES_TO_MAKE) $(LINK_FILE) @$(ECHO) Cleaned link output #---------------------------------------------------------------------------- # Stuff so you can clean individual files #---------------------------------------------------------------------------- MAKE_TARGETS := $(subst /,.,$(patsubst %.o,%,$(foreach FILE,$(ALL_CODE_OBJS),$(FILE)))) CLEAN_TARGETS := $(addprefix clean.,$(MAKE_TARGETS)) .PHONY: $(CLEAN_TARGETS) .PHONY: $(MAKE_TARGETS) $(CLEAN_TARGETS) : @$(RM) -f $(addprefix $(OBJ_DIR)/,$(addsuffix .o,$(subst .,/,$(subst clean.,,$@)))) @$(ECHO) Cleaned $(addprefix $(OBJ_DIR)/,$(addsuffix .o,$(subst .,/,$(subst clean.,,$@)))) $(MAKE_TARGETS) : $(MAKE) -r -f makefile.gaz VERSION=$(VERSION) TERRITORY=$(TERRITORY) clean.$@ $(MAKE) -r -f makefile.gaz VERSION=$(VERSION) TERRITORY=$(TERRITORY) $(OBJ_DIR)/$(subst .,/,$@).o #---------------------------------------------------------------------------- # This bit does everything needed for generating autodependancies #---------------------------------------------------------------------------- ALL_CODE_DEPS := $(patsubst %.o,%.d,$(addprefix $(DEPS_DIR)/,$(ALL_CODE_OBJS))) $(DEPS_DIR)/%.d : $(SOURCE_DIR)/%.cpp @$(MKDIR) -p $(dir $@) -@$(CC) -M $(COMMON_CCFLAGS) $< -o $(TEMP_DIR)/deps.tmp @$(PL) $(PERL_SCRIPT_DIR)/dep.pl $(TEMP_DIR)/deps.tmp $@ $(OBJ_DIR)/$(subst .cpp,.o,$(subst $(SOURCE_DIR)/,,$<)) @$(RM) $(TEMP_DIR)/deps.tmp @$(ECHO) Generated autodependancies for $< deps : $(ALL_CODE_DEPS) @echo Made deps #ifndef NODEPS include $(ALL_CODE_DEPS) #endif $(DEPS_DIR)/%.d : $(SOURCE_DIR)/%.mip @$(REDIR) $@ '#' cleandeps : @$(RM) -f $(ALL_CODE_DEPS) #---------------------------------------------------------------------------- # Boot strap stuff #---------------------------------------------------------------------------- CD_BUILD_DIR := CdBuild/ CD_DIR := $(CD_BUILD_DIR)/$(TERRITORY) BIGLUMP_FILE := $(VERSION_DIR)/BIGLUMP.BIN BIN_OUTFILE := SPONGEY.BIN BOOTSTRAP_DIR := source/psxboot/ BOOTSTRAP_IN := $(BOOTSTRAP_DIR)/PsxBoot.cpp BOOTSTRAP_CPE := $(TEMP_DIR)/PsxBoot.cpe BOOTSTRAP_MAP := $(TEMP_DIR)/PsxBoot.map BOOTSTRAP_SYM := $(TEMP_DIR)/PsxBoot.sym BOOTSTRAP_EXE := $(TEMP_DIR)/PsxBoot.exe USA_BOOTSTRAP_OUT :=$(CD_DIR)/BOOTUSA.EXE USA_CPE2X_PARAM :=/CA EUR_BOOTSTRAP_OUT :=$(CD_DIR)/BOOTEUR.EXE EUR_CPE2X_PARAM :=/CE cddata: ifeq ($(USER_NAME),CDBUILD) @$(MKDIR) -p $(CD_DIR) @$(CPE2BIN) $(CPE_FILE) $(CD_DIR)/$(BIN_OUTFILE) @$(CP) -u $(BIGLUMP_FILE) $(CD_DIR) -f @$(TGA2GFX) graphics/screens/legal.tga $(CD_DIR)/LEGAL.GFX @$(CP) -u Data/CdData/$(TERRITORY).cnf $(CD_DIR)/SYSTEM.CNF -f @$(CP) -u Data/CdData/$(TERRITORY).ccs $(CD_BUILD_DIR)/$(TERRITORY).ccs @$(CP) -u Data/CdData/thq.str $(CD_DIR)/thq.str @$(CP) -u Data/CdData/intro.str $(CD_DIR)/intro.str @$(CP) -u Data/CdData/track1.ixa $(CD_DIR)/track1.ixa @$(RAR) x data/CDData/ZZZZZZZ.RAR $(CD_DIR)/ -y >nul @$(ECHO) HERE # Compile bootstrap @ccpsx -O2 -g $(BOOTSTRAP_IN) -c -Xo$801c0000 $(COMMON_CCFLAGS) -oPsxBoot.o @slink -m -psx -c -v -z -o 0x801c0000 -cpemunge -we -wm -wo @$(BOOTSTRAP_DIR)/psxboot.ln,$(BOOTSTRAP_CPE),$(BOOTSTRAP_SYM),$(BOOTSTRAP_MAP) @$(RM) PsxBoot.o @Cpe2Exe $($(TERRITORY)_CPE2X_PARAM) $(BOOTSTRAP_CPE) @$(CP) -u $(BOOTSTRAP_EXE) $($(TERRITORY)_BOOTSTRAP_OUT) -f @$(ECHO) $(TERRITORY) Psx CD Built @$(BUILDCD) -i$(CD_BUILD_DIR)/psx.img -l data/cddata/$(TERRITORY).cti @$(STRIPISO) s 2352 $(CD_BUILD_DIR)/psx.img $(CD_BUILD_DIR)/$(TERRITORY).iso @$(RM) $(CD_BUILD_DIR)/psx.img @$(RM) CDW900E.toc @$(RM) QSheet.toc @$(ECHO) $(TERRITORY) Iso Built endif # tools\STRIPISO.EXE s 2336 $(CD_BUILD_DIR)/psx.img $(CD_BUILD_DIR)/$(TERRITORY).iso #---------------------------------------------------------------------------- # Main dependancy # --------------- ifdef ERR_STR all: @$(ECHO) Error: $(ERR_STR) else all: dirs link cddata @$(ECHO) Built !$(TERRITORY):$(VERSION):$(FILE_SYSTEM)!. .PHONY: clean clean : cleanlink cleandeps cleancode @$(ECHO) Cleaning complete endif #---------------------------------------------------------------------------- # end---