mirror of
https://github.com/rlabrecque/SteamworksSDK.git
synced 2026-10-10 09:33:04 +08:00
148 lines
4.3 KiB
Makefile
148 lines
4.3 KiB
Makefile
#Generated by VisualGDB project wizard.
|
|
#Visit http://visualgdb.com/makefiles for more details
|
|
|
|
#VisualGDB: AutoSourceFiles #<--- remove this line to disable auto-updating of SOURCEFILES and EXTERNAL_LIBS
|
|
SOURCEFILES := BaseMenu.cpp clanchatroom.cpp connectingmenu.cpp gameenginesdl.cpp glew.c Leaderboards.cpp Lobby.cpp Main.cpp MainMenu.cpp musicplayer.cpp p2pauth.cpp PhotonBeam.cpp QuitMenu.cpp RemoteStorage.cpp remotestoragesync.cpp ServerBrowser.cpp Ship.cpp SpaceWarClient.cpp SpaceWarEntity.cpp SpaceWarServer.cpp StarField.cpp StatsAndAchievements.cpp stdafx.cpp steamvrglhelper.cpp Sun.cpp VectorEntity.cpp voicechat.cpp
|
|
|
|
TARGETNAME := SteamworksExampleLinux
|
|
#TARGETTYPE can be APP, STATIC or SHARED
|
|
TARGETTYPE := APP
|
|
|
|
include flags.mak
|
|
|
|
CONFIG ?= RELEASE
|
|
|
|
ALL_MACROS := $(COMMON_MACROS)
|
|
|
|
ifeq ($(CONFIG),DEBUG)
|
|
BINARYDIR = debug
|
|
CFLAGS += $(DEBUG_CFLAGS)
|
|
CXXFLAGS += $(DEBUG_CXXFLAGS)
|
|
LDFLAGS += $(DEBUG_LDFLAGS)
|
|
ALL_MACROS += $(DEBUG_MACROS)
|
|
endif
|
|
|
|
ifeq ($(CONFIG),RELEASE)
|
|
BINARYDIR = release
|
|
CFLAGS += $(RELEASE_CFLAGS)
|
|
CXXFLAGS += $(RELEASE_CXXFLAGS)
|
|
LDFLAGS += $(RELEASE_LDFLAGS)
|
|
ALL_MACROS += $(RELEASE_MACROS)
|
|
endif
|
|
|
|
ifeq ($(BINARYDIR),)
|
|
error:
|
|
$(error Please specify CONFIG=DEBUG/RELEASE)
|
|
endif
|
|
|
|
EXTERNAL_LIBS :=
|
|
EXTERNAL_LIBS_COPIED := $(foreach lib, $(EXTERNAL_LIBS),$(BINARYDIR)/$(notdir $(lib)))
|
|
|
|
CFLAGS += $(addprefix -I,$(INCLUDE_DIRS))
|
|
CXXFLAGS += $(addprefix -I,$(INCLUDE_DIRS))
|
|
|
|
CFLAGS += $(addprefix -D,$(ALL_MACROS))
|
|
CXXFLAGS += $(addprefix -D,$(ALL_MACROS))
|
|
|
|
CXXFLAGS += $(addprefix -framework ,$(MACOS_FRAMEWORKS))
|
|
CFLAGS += $(addprefix -framework ,$(MACOS_FRAMEWORKS))
|
|
LDFLAGS += $(addprefix -framework ,$(MACOS_FRAMEWORKS))
|
|
|
|
LDFLAGS += $(addprefix -L,$(LIBRARY_DIRS))
|
|
|
|
LIBRARY_LDFLAGS = $(addprefix -l,$(LIBRARY_NAMES))
|
|
|
|
ifeq ($(IS_LINUX_PROJECT),1)
|
|
RPATH_PREFIX := -Wl,--rpath='$$ORIGIN/../
|
|
LIBRARY_LDFLAGS += $(EXTERNAL_LIBS)
|
|
LIBRARY_LDFLAGS += -Wl,--rpath='$$ORIGIN'
|
|
LIBRARY_LDFLAGS += $(addsuffix ',$(addprefix $(RPATH_PREFIX),$(dir $(EXTERNAL_LIBS))))
|
|
|
|
ifeq ($(TARGETTYPE),SHARED)
|
|
LIBRARY_LDFLAGS += -Wl,-soname,$(TARGETNAME)
|
|
endif
|
|
|
|
else
|
|
LIBRARY_LDFLAGS += $(EXTERNAL_LIBS)
|
|
endif
|
|
|
|
|
|
CFLAGS += $(MCUFLAGS)
|
|
CXXFLAGS += $(MCUFLAGS)
|
|
LDFLAGS += $(MCUFLAGS)
|
|
|
|
all_make_files := Makefile flags.mak $(ADDITIONAL_MAKE_FILES)
|
|
|
|
ifeq ($(STARTUPFILES),)
|
|
all_source_files := $(SOURCEFILES)
|
|
else
|
|
all_source_files := $(STARTUPFILES) $(filter-out $(STARTUPFILES),$(SOURCEFILES))
|
|
endif
|
|
|
|
source_obj1 := $(all_source_files:.cpp=.o)
|
|
source_obj2 := $(source_obj1:.c=.o)
|
|
source_objs := $(source_obj2:.S=.o)
|
|
|
|
all_objs := $(addprefix $(BINARYDIR)/, $(notdir $(source_objs)))
|
|
|
|
ifeq ($(GENERATE_BIN_FILE),1)
|
|
all: $(BINARYDIR)/$(basename $(TARGETNAME)).bin
|
|
|
|
$(BINARYDIR)/$(basename $(TARGETNAME)).bin: $(BINARYDIR)/$(TARGETNAME)
|
|
$(OBJCOPY) -O binary $< $@
|
|
|
|
else
|
|
all: $(BINARYDIR)/$(TARGETNAME)
|
|
endif
|
|
|
|
ifeq ($(TARGETTYPE),APP)
|
|
$(BINARYDIR)/$(TARGETNAME): $(all_objs) $(EXTERNAL_LIBS) $(BINARYDIR)/$(STEAM_API) $(BINARYDIR)/SteamworksExample.sh $(BINARYDIR)/DejaVuSans.ttf
|
|
$(LD) -o $@ $(LDFLAGS) $(START_GROUP) $(all_objs) $(LIBRARY_LDFLAGS) $(END_GROUP)
|
|
@echo "You can start the game by running $(BINARYDIR)/SteamworksExample.sh"
|
|
endif
|
|
|
|
ifeq ($(TARGETTYPE),SHARED)
|
|
$(BINARYDIR)/$(TARGETNAME): $(all_objs) $(EXTERNAL_LIBS)
|
|
$(LD) -shared -o $@ $(LDFLAGS) $(START_GROUP) $(all_objs) $(LIBRARY_LDFLAGS) $(END_GROUP)
|
|
endif
|
|
|
|
ifeq ($(TARGETTYPE),STATIC)
|
|
$(BINARYDIR)/$(TARGETNAME): $(all_objs)
|
|
$(AR) -r $@ $^
|
|
endif
|
|
|
|
-include $(all_objs:.o=.dep)
|
|
|
|
clean:
|
|
ifeq ($(USE_DEL_TO_CLEAN),1)
|
|
del /S /Q $(BINARYDIR)
|
|
else
|
|
rm -f $(BINARYDIR)/*.o $(BINARYDIR)/*.dep $(BINARYDIR)/$(TARGETNAME)
|
|
endif
|
|
|
|
$(BINARYDIR):
|
|
mkdir $(BINARYDIR)
|
|
|
|
$(BINARYDIR)/$(STEAM_API): $(STEAMWORKS_SDK)/redistributable_bin/linux32/$(STEAM_API)
|
|
cp -v $< $@
|
|
chmod +x $@
|
|
|
|
$(BINARYDIR)/SteamworksExample.sh: SteamworksExample.sh
|
|
cp -v $< $@
|
|
chmod +x $@
|
|
|
|
$(BINARYDIR)/DejaVuSans.ttf: DejaVuSans.ttf
|
|
cp -v $< $@
|
|
|
|
#VisualGDB: FileSpecificTemplates #<--- VisualGDB will use the following lines to define rules for source files in subdirectories
|
|
$(BINARYDIR)/%.o : %.cpp $(all_make_files) |$(BINARYDIR)
|
|
$(CXX) $(CXXFLAGS) -c $< -o $@ -MD -MF $(@:.o=.dep)
|
|
|
|
$(BINARYDIR)/%.o : %.c $(all_make_files) |$(BINARYDIR)
|
|
$(CC) $(CFLAGS) -c $< -o $@ -MD -MF $(@:.o=.dep)
|
|
|
|
$(BINARYDIR)/%.o : %.S $(all_make_files) |$(BINARYDIR)
|
|
$(CC) $(CFLAGS) $(ASFLAGS) -c $< -o $@ -MD -MF $(@:.o=.dep)
|
|
|
|
#VisualGDB: GeneratedRules #<--- All lines below are auto-generated
|