gzdoom/Makefile.mingw

436 lines
11 KiB
Text
Raw Normal View History

# Sub-makefile autogenerated by premake
# And then tweaked by hand
ifndef CC
CC=gcc
endif
ifndef CXX
CC=g++
endif
ifndef CONFIG
CONFIG=Release
endif
ifndef OPTLEVEL
OPTLEVEL=2
endif
ifndef ARCH_TYPE
ARCH_TYPE=pentium
endif
ifndef TUNE_TYPE
TUNE_TYPE=athlon-xp
endif
ifndef RELEASETARGET
RELEASETARGET = zdoomgcc.exe
endif
ifndef DEBUGTARGET
DEBUGTARGE = zdoomgccd.exe
endif
DEBUGOBJDIR = debugobj
RELEASEOBJDIR = releaseobj
CCDV = @ccdv
FMODDIR = c:/fmods/fmodapi374win
CPPFLAGS = -DWIN32 -D_WIN32 -D_WINDOWS -DHAVE_STRUPR -DHAVE_FILELENGTH -DI_DO_NOT_LIKE_BIG_DOWNLOADS -D__forceinline=inline -MMD -Izlib -IFLAC -Isrc -Isrc/win32 -Isrc/g_doom -Isrc/g_heretic -I src/g_hexen -Isrc/g_raven -Isrc/g_strife -Isrc/g_shared -Isrc/oplsynth -Isrc/sound
LDFLAGS += flac/libflac.a zlib/libz.a -lfmod -lwsock32 -lwinmm -lddraw -ldsound -ldxguid -ldinput8 -lole32 -luser32 -lgdi32 -lcomctl32 -lcomdlg32 -lsetupapi -lws2_32 -Wl,--subsystem,windows
ifdef FMODDIR
CPPFLAGS += -I$(FMODDIR)/api/inc
LDFLAGS += -L$(FMODDIR)/api/lib
endif
ifeq ($(CONFIG),Debug)
OBJDIR = $(DEBUGOBJDIR)
CFLAGS += $(CPPFLAGS) -Wall -Wno-unused -g3
CPPFLAGS += -D_DEBUG
CXXFLAGS = $(CFLAGS)
TARGET = $(DEBUGTARGET)
endif
ifeq ($(CONFIG),Release)
OBJDIR = $(RELEASEOBJDIR)
CFLAGS += $(CPPFLAGS) -march=$(ARCH_TYPE) -mtune=$(TUNE_TYPE) -Wall -Wno-unused -O$(OPTLEVEL) -fomit-frame-pointer
CPPFLAGS += -DNDEBUG
CXXFLAGS = $(CFLAGS)
LDFLAGS += -Wl,-Map=zdoomgcc.map
TARGET = $(RELEASETARGET)
endif
# This must be first.
OBJECTS = $(OBJDIR)/autostart.o
OBJECTS += \
$(OBJDIR)/am_map.o \
$(OBJDIR)/b_bot.o \
$(OBJDIR)/b_func.o \
$(OBJDIR)/b_game.o \
$(OBJDIR)/b_move.o \
$(OBJDIR)/b_think.o \
$(OBJDIR)/bbannouncer.o \
$(OBJDIR)/c_bind.o \
$(OBJDIR)/c_cmds.o \
$(OBJDIR)/c_console.o \
$(OBJDIR)/c_cvars.o \
$(OBJDIR)/c_dispatch.o \
$(OBJDIR)/c_expr.o \
$(OBJDIR)/cmdlib.o \
$(OBJDIR)/colormatcher.o \
$(OBJDIR)/configfile.o \
$(OBJDIR)/ct_chat.o \
$(OBJDIR)/d_dehacked.o \
$(OBJDIR)/d_main.o \
$(OBJDIR)/d_net.o \
$(OBJDIR)/d_netinfo.o \
$(OBJDIR)/d_protocol.o \
$(OBJDIR)/decallib.o \
$(OBJDIR)/decorations.o \
$(OBJDIR)/dobject.o \
$(OBJDIR)/doomdef.o \
$(OBJDIR)/doomstat.o \
$(OBJDIR)/dsectoreffect.o \
$(OBJDIR)/dthinker.o \
$(OBJDIR)/f_finale.o \
$(OBJDIR)/f_wipe.o \
$(OBJDIR)/farchive.o \
$(OBJDIR)/files.o \
$(OBJDIR)/g_game.o \
$(OBJDIR)/g_hub.o \
$(OBJDIR)/g_level.o \
$(OBJDIR)/gameconfigfile.o \
$(OBJDIR)/gi.o \
$(OBJDIR)/hu_scores.o \
$(OBJDIR)/info.o \
$(OBJDIR)/infodefaults.o \
$(OBJDIR)/lumpconfigfile.o \
$(OBJDIR)/m_alloc.o \
$(OBJDIR)/m_argv.o \
$(OBJDIR)/m_bbox.o \
$(OBJDIR)/m_cheat.o \
$(OBJDIR)/m_fixed.o \
$(OBJDIR)/m_menu.o \
$(OBJDIR)/m_misc.o \
$(OBJDIR)/m_options.o \
$(OBJDIR)/m_png.o \
$(OBJDIR)/m_random.o \
$(OBJDIR)/mus2midi.o \
$(OBJDIR)/nodebuild.o \
$(OBJDIR)/nodebuild_events.o \
$(OBJDIR)/nodebuild_extract.o \
$(OBJDIR)/nodebuild_gl.o \
$(OBJDIR)/nodebuild_utility.o \
$(OBJDIR)/p_acs.o \
$(OBJDIR)/p_buildmap.o \
$(OBJDIR)/p_ceiling.o \
$(OBJDIR)/p_conversation.o \
$(OBJDIR)/p_doors.o \
$(OBJDIR)/p_effect.o \
$(OBJDIR)/p_enemy.o \
$(OBJDIR)/p_floor.o \
$(OBJDIR)/p_interaction.o \
$(OBJDIR)/p_lights.o \
$(OBJDIR)/p_lnspec.o \
$(OBJDIR)/p_map.o \
$(OBJDIR)/p_maputl.o \
$(OBJDIR)/p_mobj.o \
$(OBJDIR)/p_pillar.o \
$(OBJDIR)/p_plats.o \
$(OBJDIR)/p_pspr.o \
$(OBJDIR)/p_saveg.o \
$(OBJDIR)/p_sectors.o \
$(OBJDIR)/p_setup.o \
$(OBJDIR)/p_sight.o \
$(OBJDIR)/p_spec.o \
$(OBJDIR)/p_switch.o \
$(OBJDIR)/p_teleport.o \
$(OBJDIR)/p_terrain.o \
$(OBJDIR)/p_things.o \
$(OBJDIR)/p_tick.o \
$(OBJDIR)/p_trace.o \
$(OBJDIR)/p_user.o \
$(OBJDIR)/p_writemap.o \
$(OBJDIR)/p_xlat.o \
$(OBJDIR)/po_man.o \
$(OBJDIR)/r_bsp.o \
$(OBJDIR)/r_data.o \
$(OBJDIR)/r_draw.o \
$(OBJDIR)/r_drawt.o \
$(OBJDIR)/r_main.o \
$(OBJDIR)/r_plane.o \
$(OBJDIR)/r_segs.o \
$(OBJDIR)/r_sky.o \
$(OBJDIR)/r_things.o \
$(OBJDIR)/r_polymost.o \
$(OBJDIR)/s_advsound.o \
$(OBJDIR)/s_environment.o \
$(OBJDIR)/s_playlist.o \
$(OBJDIR)/s_sndseq.o \
$(OBJDIR)/s_sound.o \
$(OBJDIR)/sc_man.o \
$(OBJDIR)/skins.o \
$(OBJDIR)/st_stuff.o \
$(OBJDIR)/stats.o \
$(OBJDIR)/stringtable.o \
$(OBJDIR)/tables.o \
$(OBJDIR)/tempfiles.o \
$(OBJDIR)/thingdef.o \
$(OBJDIR)/thingdef_codeptr.o \
$(OBJDIR)/v_collection.o \
$(OBJDIR)/v_draw.o \
$(OBJDIR)/v_font.o \
$(OBJDIR)/v_palette.o \
$(OBJDIR)/v_pfx.o \
$(OBJDIR)/v_text.o \
$(OBJDIR)/v_video.o \
$(OBJDIR)/vectors.o \
$(OBJDIR)/name.o \
$(OBJDIR)/zstring.o \
$(OBJDIR)/zstringpool.o \
$(OBJDIR)/zstrformat.o \
$(OBJDIR)/w_wad.o \
$(OBJDIR)/wi_stuff.o \
$(OBJDIR)/a_arachnotron.o \
$(OBJDIR)/a_archvile.o \
$(OBJDIR)/a_bossbrain.o \
$(OBJDIR)/a_bruiser.o \
$(OBJDIR)/a_cacodemon.o \
$(OBJDIR)/a_cyberdemon.o \
$(OBJDIR)/a_demon.o \
$(OBJDIR)/a_doomarmor.o \
$(OBJDIR)/a_doomartifacts.o \
$(OBJDIR)/a_doomdecorations.o \
$(OBJDIR)/a_doomhealth.o \
$(OBJDIR)/a_doomimp.o \
$(OBJDIR)/a_doomkeys.o \
$(OBJDIR)/a_doommisc.o \
$(OBJDIR)/a_doomplayer.o \
$(OBJDIR)/a_doomweaps.o \
$(OBJDIR)/a_fatso.o \
$(OBJDIR)/a_keen.o \
$(OBJDIR)/a_lostsoul.o \
$(OBJDIR)/a_painelemental.o \
$(OBJDIR)/a_possessed.o \
$(OBJDIR)/a_revenant.o \
$(OBJDIR)/a_scriptedmarine.o \
$(OBJDIR)/a_spidermaster.o \
$(OBJDIR)/doom_sbar.o \
$(OBJDIR)/a_beast.o \
$(OBJDIR)/a_chicken.o \
$(OBJDIR)/a_clink.o \
$(OBJDIR)/a_dsparil.o \
$(OBJDIR)/a_hereticambience.o \
$(OBJDIR)/a_hereticarmor.o \
$(OBJDIR)/a_hereticartifacts.o \
$(OBJDIR)/a_hereticdecorations.o \
$(OBJDIR)/a_hereticimp.o \
$(OBJDIR)/a_heretickeys.o \
$(OBJDIR)/a_hereticmisc.o \
$(OBJDIR)/a_hereticplayer.o \
$(OBJDIR)/a_hereticweaps.o \
$(OBJDIR)/a_ironlich.o \
$(OBJDIR)/a_knight.o \
$(OBJDIR)/a_mummy.o \
$(OBJDIR)/a_snake.o \
$(OBJDIR)/a_wizard.o \
$(OBJDIR)/heretic_sbar.o \
$(OBJDIR)/a_bats.o \
$(OBJDIR)/a_bishop.o \
$(OBJDIR)/a_blastradius.o \
$(OBJDIR)/a_boostarmor.o \
$(OBJDIR)/a_centaur.o \
$(OBJDIR)/a_clericboss.o \
$(OBJDIR)/a_clericflame.o \
$(OBJDIR)/a_clericholy.o \
$(OBJDIR)/a_clericmace.o \
$(OBJDIR)/a_clericplayer.o \
$(OBJDIR)/a_clericstaff.o \
$(OBJDIR)/a_demons.o \
$(OBJDIR)/a_dragon.o \
$(OBJDIR)/a_ettin.o \
$(OBJDIR)/a_fighteraxe.o \
$(OBJDIR)/a_fighterboss.o \
$(OBJDIR)/a_fighterhammer.o \
$(OBJDIR)/a_fighterplayer.o \
$(OBJDIR)/a_fighterquietus.o \
$(OBJDIR)/a_firedemon.o \
$(OBJDIR)/a_flame.o \
$(OBJDIR)/a_flechette.o \
$(OBJDIR)/a_fog.o \
$(OBJDIR)/a_healingradius.o \
$(OBJDIR)/a_heresiarch.o \
$(OBJDIR)/a_hexenarmor.o \
$(OBJDIR)/a_hexendecorations.o \
$(OBJDIR)/a_hexenkeys.o \
$(OBJDIR)/a_hexenspecialdecs.o \
$(OBJDIR)/a_iceguy.o \
$(OBJDIR)/a_korax.o \
$(OBJDIR)/a_mageboss.o \
$(OBJDIR)/a_magecone.o \
$(OBJDIR)/a_magelightning.o \
$(OBJDIR)/a_mageplayer.o \
$(OBJDIR)/a_magestaff.o \
$(OBJDIR)/a_magewand.o \
$(OBJDIR)/a_mana.o \
$(OBJDIR)/a_pig.o \
$(OBJDIR)/a_puzzleitems.o \
$(OBJDIR)/a_scriptprojectiles.o \
$(OBJDIR)/a_serpent.o \
$(OBJDIR)/a_speedboots.o \
$(OBJDIR)/a_spike.o \
$(OBJDIR)/a_summon.o \
$(OBJDIR)/a_teleportother.o \
$(OBJDIR)/a_weaponpiece.o \
$(OBJDIR)/a_weaponpieces.o \
$(OBJDIR)/a_wraith.o \
$(OBJDIR)/hexen_sbar.o \
$(OBJDIR)/a_artiegg.o \
$(OBJDIR)/a_artitele.o \
$(OBJDIR)/a_minotaur.o \
$(OBJDIR)/a_ravenambient.o \
$(OBJDIR)/a_ravenartifacts.o \
$(OBJDIR)/a_ravenhealth.o \
$(OBJDIR)/a_acolyte.o \
$(OBJDIR)/a_alienspectres.o \
$(OBJDIR)/a_beggars.o \
$(OBJDIR)/a_coin.o \
$(OBJDIR)/a_crusader.o \
$(OBJDIR)/a_entityboss.o \
$(OBJDIR)/a_inquisitor.o \
$(OBJDIR)/a_loremaster.o \
$(OBJDIR)/a_macil.o \
$(OBJDIR)/a_merchants.o \
$(OBJDIR)/a_oracle.o \
$(OBJDIR)/a_peasant.o \
$(OBJDIR)/a_programmer.o \
$(OBJDIR)/a_questitems.o \
$(OBJDIR)/a_ratbuddy.o \
$(OBJDIR)/a_reaver.o \
$(OBJDIR)/a_rebels.o \
$(OBJDIR)/a_sentinel.o \
$(OBJDIR)/a_spectral.o \
$(OBJDIR)/a_stalker.o \
$(OBJDIR)/a_strifeammo.o \
$(OBJDIR)/a_strifearmor.o \
$(OBJDIR)/a_strifebishop.o \
$(OBJDIR)/a_strifeitems.o \
$(OBJDIR)/a_strifekeys.o \
$(OBJDIR)/a_strifeplayer.o \
$(OBJDIR)/a_strifestuff.o \
$(OBJDIR)/a_strifeweapons.o \
$(OBJDIR)/a_templar.o \
$(OBJDIR)/a_thingstoblowup.o \
$(OBJDIR)/a_zombie.o \
$(OBJDIR)/strife_sbar.o \
$(OBJDIR)/a_action.o \
$(OBJDIR)/a_artifacts.o \
$(OBJDIR)/a_bridge.o \
$(OBJDIR)/a_camera.o \
$(OBJDIR)/a_debris.o \
$(OBJDIR)/a_decals.o \
$(OBJDIR)/a_flashfader.o \
$(OBJDIR)/a_fountain.o \
$(OBJDIR)/a_hatetarget.o \
$(OBJDIR)/a_keys.o \
$(OBJDIR)/a_lightning.o \
$(OBJDIR)/a_movingcamera.o \
$(OBJDIR)/a_pickups.o \
$(OBJDIR)/a_quake.o \
$(OBJDIR)/a_secrettrigger.o \
$(OBJDIR)/a_sectoraction.o \
$(OBJDIR)/a_sharedmisc.o \
$(OBJDIR)/a_skies.o \
$(OBJDIR)/a_soundenvironment.o \
$(OBJDIR)/a_spark.o \
$(OBJDIR)/a_splashes.o \
$(OBJDIR)/a_waterzone.o \
$(OBJDIR)/a_weapons.o \
$(OBJDIR)/hudmessages.o \
$(OBJDIR)/shared_sbar.o \
$(OBJDIR)/fmopl.o \
$(OBJDIR)/mlkernel.o \
$(OBJDIR)/mlopl.o \
$(OBJDIR)/mlopl_io.o \
$(OBJDIR)/opl_mus_player.o \
$(OBJDIR)/altsound.o \
$(OBJDIR)/altsoundmixer.o \
$(OBJDIR)/fmodsound.o \
$(OBJDIR)/i_music.o \
$(OBJDIR)/i_sound.o \
$(OBJDIR)/music_cd.o \
$(OBJDIR)/music_flac.o \
$(OBJDIR)/music_midi_midiout.o \
$(OBJDIR)/music_midi_stream.o \
$(OBJDIR)/music_midi_timidity.o \
$(OBJDIR)/music_mod.o \
$(OBJDIR)/music_mus_midiout.o \
$(OBJDIR)/music_mus_opl.o \
$(OBJDIR)/music_spc.o \
$(OBJDIR)/music_stream.o \
$(OBJDIR)/sample_flac.o \
$(OBJDIR)/helperthread.o \
$(OBJDIR)/i_input.o \
$(OBJDIR)/i_net.o \
$(OBJDIR)/eaxedit.o \
$(OBJDIR)/i_cd.o \
$(OBJDIR)/i_main.o \
$(OBJDIR)/i_system.o \
$(OBJDIR)/hardware.o \
$(OBJDIR)/i_crash.o \
$(OBJDIR)/i_movie.o \
$(OBJDIR)/win32video.o \
$(OBJDIR)/zdoom.o
ifndef NOASM
OBJECTS += \
$(OBJDIR)/a.o \
$(OBJDIR)/blocks.o \
$(OBJDIR)/misc.o \
$(OBJDIR)/tmap.o \
$(OBJDIR)/tmap2.o \
$(OBJDIR)/tmap3.o
CPPFLAGS := -DUSEASM=1 $(CPPFLAGS)
else
CPPFLAGS := -DNOASM $(CPPFLAGS)
endif
# This must be last
OBJECTS += $(OBJDIR)/autozend.o
VPATH = src src/g_doom src/g_heretic src/g_hexen src/g_raven src/g_strife src/g_shared src/oplsynth src/sound src/win32
.PHONY: clean all
all: $(TARGET)
$(OBJDIR)/%.o : %.cpp
$(CCDV) $(CXX) $(CXXFLAGS) -o $@ -c $<
$(OBJDIR)/%.o : %.nas
$(CCDV) nasmw -o $@ -f win32 $<
$(OBJDIR)/%.o : %.rc
$(CCDV) windres --include-dir=src/win32 -o $@ -i $<
$(TARGET): testobjdir $(OBJECTS)
$(CCDV) $(CXX) -o $@ $(OBJECTS) $(LDFLAGS)
clean:
-del /q /f $(RELEASETARGET) 2>nul
-del /q /f $(DEBUGTARGET) 2>nul
-del /q /f $(DEBUGOBJDIR) 2>nul
-del /q /f $(RELEASEOBJDIR) 2>nul
testobjdir:
-@if not exist $(OBJDIR) mkdir $(OBJDIR)
ifneq ($(MAKECMDGOALS),clean)
-include $(OBJECTS:%.o=%.d)
endif