Faits :
A.
Par jugement du 12 décembre 2016, le Tribunal de police de la Broye et du Nord vaudois a condamné X._, pour vol, violation de domicile et contravention à la LStup, à une peine privative de liberté de 5 mois, sous déduction de 47 jours de détention avant jugement, ainsi qu'à une amende de 200 francs. Il a par ailleurs révoqué la libération conditionnelle octroyée à X._ le 3 mai 2016 par le Juge d'application des peines et a ordonné la réintégration du prénommé en établissement de détention pour l'exécution du solde de la peine. Il a ordonné le maintien de X._ en détention afin de garantir l'exécution de la peine privative de liberté prononcée et du solde de la peine pour laquelle la libération conditionnelle a été révoquée. Il a enfin ordonné l'expulsion du territoire suisse de X._ pour une durée de 5 ans.
B.
Par jugement du 16 mars 2017, la Cour d'appel pénale du Tribunal cantonal du canton de Vaud a rejeté l'appel formé par X._ contre ce jugement et a ordonné son maintien en détention à titre de sûreté.
En substance, la cour cantonale a retenu les faits suivants.
B.a. Quatrième né d'une famille de six enfants, X._ a vu le jour en 1970 au Portugal. Il y a effectué sa scolarité jusqu'à l'âge de 11 ans, avant de commencer à travailler dans le domaine de la maçonnerie. Il aurait par la suite vécu durant 13 ans au Vénézuela. Arrivé en Suisse à l'âge de 28 ans, il dit avoir travaillé dans le même corps de métier, au sein de diverses entreprises sises dans la région A._ ou la région B._. Sans emploi depuis 2 ans et demi, il perçoit le revenu d'insertion. Avant son incarcération pour les besoins de la cause, l'intéressé bénéficiait d'une liberté conditionnelle depuis le 11 mai 2016, selon l'ordonnance du Juge d'application des peines du 3 mai 2016.
Célibataire, X._ avait d'abord expliqué ne pas avoir d'enfant, avant de modifier ses déclarations et d'indiquer être le père d'un enfant de 24 ans domicilié au Vénézuela, avec lequel il entretiendrait des contacts. Lors des débats de première instance, il a soudainement expliqué être, probablement, le père d'une petite fille âgée de 20 mois. Il a indiqué qu'il n'en connaissait pas la date de naissance, mais que la mère aurait accouché à sept mois, probablement au mois de mai 2015. Il a ajouté qu'il entretenait, avant son incarcération, des contacts hebdomadaires avec la fillette et sa mère. Lors de l'audience d'appel, X._ a confirmé ces déclarations, indiquant toutefois que la naissance de cette fille remontait à mars 2015, sans pouvoir définir le jour de son anniversaire. Il a peiné à restituer le prénom de son enfant putatif et a déclaré qu'il n'avait plus de contact avec la mère ni avec l'enfant depuis son incarcération en octobre 2016. Pour le surplus, X._ a un frère et deux soeurs résidant en Suisse, ainsi que deux frères et son père qui vivent au Vénézuela. Il est au bénéfice d'un permis B, valable jusqu'en 2018. Son casier judiciaire fait état d'une condamnation, en 2009, à une peine pécuniaire de 105 jours-amende à 60 fr. le jour, avec sursis pendant 2 ans, ainsi qu'à une amende de 1'200 fr., pour utilisation frauduleuse d'un ordinateur, délit manqué d'utilisation frauduleuse d'un ordinateur, violation simple des règles de la circulation routière, opposition et dérobade aux mesures visant à déterminer l'incapacité de conduire, violation des devoirs en cas d'accident et conduite d'un véhicule défectueux, d'une condamnation, en 2012, à une peine pécuniaire de 60 jours-amende à 30 fr. le jour, pour dénonciation calomnieuse, d'une condamnation, en 2013, à une peine pécuniaire de 60 jours-amende à 30 fr. le jour, pour dommages à la propriété et séjour illégal, ainsi que d'une condamnation, en 2014, à une peine pécuniaire de 120 jours-amende à 30 fr. le jour, pour menaces et violence ou menace contre les autorités et les fonctionnaires.
Toutes ces peines pécuniaires ont été converties en peines privatives de liberté, faute de paiement. X._ a exécuté le cumul de ces peines du 24 septembre 2015 au 11 mai 2016, date à laquelle il a été libéré conditionnellement, avec un solde de peine de 3 mois et 24 jours. La libération a été assortie d'un délai d'épreuve d'un an, ainsi que d'une assistance de probation et de l'astreinte, pour l'intéressé, à suivre des contrôles réguliers d'abstinence en matière d'alcool.
Le 9 novembre 2016, l'Office d'exécution des peines a interpellé X._ en lui indiquant qu'il ne s'était pas présenté au rendez-vous fixé le 24 août 2016, sans être excusé, et que, depuis lors, les tentatives de contacts téléphoniques étaient restées vaines. Un délai de 10 jours lui avait alors été imparti pour reprendre les contrôles prévus. Aucune suite n'avait cependant été donnée à ce courrier. Selon un rapport de la Fondation vaudoise de probation du 9 novembre 2016, X._ a été condamné à une amende de 500 fr. par les autorités de la commune de C._ pour avoir, le 10 juin 2016, semé le trouble à la gare de cette ville en étant très alcoolisé. Il s'est en outre présenté en état d'ébriété lors d'un entretien avec son agent de probation le 20 octobre 2016, imposant le report du rendez-vous. Il ressort enfin de ce rapport que la Fondation vaudoise de probation estimait ne pas pouvoir accorder de crédit aux déclarations de X._, lequel se contredisait d'un entretien à l'autre. Pour les intervenants, l'intéressé se présentait aux entretiens uniquement dans le but de percevoir le revenu d'insertion et n'avait pas l'intention de travailler sur ses difficultés ni d'élaborer des stratégies pour ne pas occuper à nouveau la justice pénale.
B.b. A C._ et en d'autres lieux, entre le 1er octobre 2014 et le 26 octobre 2016 - date de son interpellation -, X._ a consommé de la cocaïne, à raison d'une prise par semaine, investissant environ 300 fr. par mois pour sa consommation.
B.c. Dans la nuit du 25 au 26 octobre 2016, à D._, X._ a pénétré sans droit sur un chantier après avoir déplacé un élément de grillage pour y accéder. Il a ensuite ouvert la porte d'une roulotte de chantier. A l'intérieur, il a dérobé un coffret contenant une scie sauteuse ainsi qu'un coffret contenant un marteau piqueur, pour une valeur totale de 3'000 francs. L'intéressé ayant été interpellé peu après son méfait, les machines ont pu être restituées à la société lésée. Cette dernière a déposé plainte pénale et s'est constituée partie plaignante.
C.
X._ forme un recours en matière pénale au Tribunal fédéral contre le jugement du 16 mars 2017, en concluant, avec suite de frais et dépens, principalement à sa réforme en ce sens que ni son expulsion du territoire suisse ni son maintien en détention pour des motifs de sûreté n'est ordonné. Subsidiairement, il conclut à sa réforme en ce sens qu'il est renoncé à son expulsion du territoire suisse et que son maintien en détention pour des motifs de sûreté n'est pas ordonné. Plus subsidiairement, il conclut à son annulation et au renvoi de la cause à l'autorité précédente pour nouvelle décision. Il sollicite par ailleurs le bénéfice de l'assistance judiciaire ainsi que l'effet suspensif.
D.
Par ordonnance du 12 juin 2017, le Président de la Cour de droit pénal du Tribunal fédéral a déclaré que la demande d'effet suspensif était sans objet.
En substance, il a considéré qu'une mesure d'expulsion entraînait, dès son exécution, une atteinte très importante à la liberté de la personne contre laquelle elle était prononcée et que le préjudice causé par cette atteinte n'était, en règle générale, plus entièrement réparable. L'exécution d'une telle mesure entraînait ainsi des effets qui allaient nettement au-delà des conséquences du simple prononcé d'une peine privative de liberté avec sursis ou d'une autre peine ferme. En tant qu'elle touchait immédiatement à la liberté personnelle, notamment le droit de choisir sa résidence ou son lieu de séjour, et qu'elle pouvait aussi entraîner, même avant sa mise en oeuvre effective, une privation de liberté afin d'en garantir la préparation ou l'exécution, il fallait admettre qu'elle emportait, dans la plupart des cas, des effets comparables dans leur intensité à ceux d'une peine ou une mesure entraînant une privation de liberté au sens de l'art. 103 al. 2 let. b LTF. Aussi, si, dans certains cas, l'effet suspensif pouvait n'être pas indispensable et qu'il pouvait même s'imposer d'en priver le recours, il y avait en revanche lieu de considérer que, dans la règle, le recours déployait de lege un effet suspensif, en application analogique de l'art. 103 al. 2 let. b LTF.
Considérant en droit :
1.
Le recourant fait grief à la cour cantonale d'avoir prononcé son expulsion du territoire suisse. Selon lui, l'autorité précédente aurait dû y renoncer, sur la base de l'art. 66a al. 2 CP.
1.1. Aux termes de l'art. 66a al. 1 let. d CP, le juge expulse de Suisse l'étranger qui est condamné notamment pour vol (art. 139 CP) en lien avec une violation de domicile (art. 186 CP), quelle que soit la quotité de la peine prononcée à son encontre, pour une durée de cinq à quinze ans. Selon l'art. 66a al. 2 CP, le juge peut exceptionnellement renoncer à une expulsion lorsque celle-ci mettrait l'étranger dans une situation personnelle grave et que les intérêts publics à l'expulsion ne l'emportent pas sur l'intérêt privé de l'étranger à demeurer en Suisse. A cet égard, il tiendra compte de la situation particulière de l'étranger qui est né ou qui a grandi en Suisse.
Dans son projet du 26 juin 2013, le Conseil fédéral avait considéré que le principe de la proportionnalité - au sens strict - commandait de conditionner l'expulsion du prévenu à un acte d'une certaine gravité, qui résulterait à la fois de la sanction prévue par la loi et de la peine prononcée dans le cas concret. La sanction minimale prévue par le projet dépassait donc une peine privative de liberté de six mois ou une peine pécuniaire de 180 jours-amende. Ces seuils minimaux ne devaient cependant pas avoir une valeur absolue, puisque le juge devait pouvoir exceptionnellement prononcer l'expulsion même si la peine ne dépassait pas respectivement six mois pour une peine privative de liberté, 180 jours-amende pour une peine pécuniaire, ou 720 heures de travaux d'intérêt général, si les intérêts publics à l'expulsion l'emportaient sur l'intérêt de l'étranger à demeurer en Suisse (Message concernant une modification du code pénal et du code pénal militaire [mise en oeuvre de l'art. 121, al. 3 à 6, Cst. relatif au renvoi des étrangers criminels], FF 2013 5423). Le législateur n'a toutefois pas retenu les seuils minimaux proposés par le Conseil fédéral. Ainsi, l'art. 66a CP prévoit l'expulsion "obligatoire" de l'étranger condamné pour l'une des infractions ou combinaison d'infractions listées à l'al. 1, quelle que soit la quotité de la peine prononcée à son encontre. L'expulsion est donc également en principe indépendante de la gravité des faits retenus (cf. ALINE BONARD, Expulsion pénale : la mise en oeuvre de l'initiative sur le renvoi, questions choisies et premières jurisprudences, in Forumpoenale 5/2017 p. 315; FIOLKA/VETTERLI, Die Landesverweisung in Art. 66a ff StGB als strafrechtliche Sanktion, in Plädoyer 5/2016 p. 84).
L'art. 66a al. 2 CP définit une "Kannvorschrift", en ce sens que le juge n'a pas l'obligation de renoncer à l'expulsion, mais peut le faire si les conditions fixées par cette disposition sont remplies. Ces conditions sont cumulatives (cf. BUSSLINGER/UEBERSAX, Härtefallklausel und Migrationsrecht der Landesverweisung, in Plädoyer 5/2016 p. 97 s.; ADRIAN BERGER, Umsetzungsgesetzgebung zur Ausschaffungsinitiative, in Jusletter 7 août 2017 no 6.1 p. 20). Afin de pouvoir renoncer à une expulsion prévue par l'art. 66a al. 1 CP, il faut donc, d'une part, que cette mesure mette l'étranger dans une situation personnelle grave et, d'autre part, que les intérêts publics à l'expulsion ne l'emportent pas sur l'intérêt privé de l'étranger à demeurer en Suisse. La loi ne définit pas ce qu'il faut entendre par une "situation personnelle grave". A cet égard, certains auteurs préconisent de s'inspirer des critères énoncés à l'art. 31 de l'ordonnance relative à l'admission, au séjour et à l'exercice d'une activité lucrative (OASA; RS 142.201) (cf. BENJAMIN F. BRÄGGER, Auswirkungen der neuen strafrechtlichen Landesverweisung auf den Sanktionenvollzug, in SZK 1/2017 p. 88; BUSSLINGER/ UEBERSAX, op. cit., p. 100 s.; BERGER, op. cit., p. 26; contra : FIOLKA/ VETTERLI, op. cit., p. 86 s.). Le Tribunal fédéral peut cependant s'abstenir d'examiner plus avant cette question, au vu de ce qui suit.
1.2. En l'espèce, le recourant ne conteste pas avoir commis les infractions de vol (art. 139 CP) et de violation de domicile (art. 186 CP) évoquées à l'art. 66a al. 1 let. d CP.
Le recourant affirme en revanche que l'autorité précédente aurait dû renoncer à prononcer son expulsion dès lors que cette mesure serait, en l'occurrence, contraire au "droit international contraignant". Il convient ainsi d'examiner si le prononcé de la mesure litigieuse était compatible avec l'art. 8 CEDH (cf. consid. 2 infra), les conséquences d'une éventuelle incompatibilité, respectivement la possibilité d'en tenir compte dans le cadre de l'art. 66a al. 2 CP étant à ce stade réservées.
2.
Le recourant soutient que son expulsion du territoire suisse violerait l'art. 8 CEDH.
2.1. L'art. 8 par. 1 CEDH dispose que toute personne a en particulier droit au respect de sa vie privée et familiale. Ce droit n'est toutefois pas absolu. Une ingérence dans l'exercice de ce droit est possible, selon l'art. 8 par. 2 CEDH, pour autant qu'elle soit prévue par la loi et qu'elle constitue une mesure qui, dans une société démocratique, est nécessaire à la sécurité nationale, à la sûreté publique, au bien-être économique du pays, à la défense de l'ordre et à la prévention des infractions pénales, à la protection de la santé ou de la morale ou à la protection des droits et libertés d'autrui. Il convient à cet égard de procéder, tant sous l'angle du droit interne que sous celui du droit conventionnel, à une pesée des intérêts ainsi qu'à un examen de la proportionnalité (ATF 135 II 377 consid. 4.3 p. 381). Pour apprécier ce qui est équitable, l'autorité doit notamment tenir compte de la gravité de la faute commise par l'étranger, de la durée de son séjour en Suisse et du préjudice qu'il aurait à subir avec sa famille du fait de l'expulsion (ATF 139 II 121 consid. 6.5.1 p. 132; 135 II 377 consid. 4.3 p. 381 s.).
2.2. Selon la Cour européenne des droits de l'Homme, l'art. 8 CEDH ne confère pas à l'étranger un droit d'entrer ou de résider sur le territoire d'un Etat. Cependant, exclure une personne d'un pays où vivent ses proches parents peut constituer une ingérence dans le droit au respect de sa vie familiale, tel que protégé par l'article 8 par. 1 CEDH (arrêts CourEDH K.M. c. Suisse du 2 juin 2015 [requête no 6009/10] § 44; Ukaj c. Suisse du 24 juin 2014 [requête no 32493/08] § 27; Hasanbasic c. Suisse du 11 juin 2013 [requête no 52166/09] § 46). Tous les immigrés établis, indépendamment de la durée de leur résidence dans le pays dont ils sont censés être expulsés, n'ont pas nécessairement une "vie familiale" au sens de l'article 8 CEDH. Toutefois, dès lors que cette disposition protège également le droit de nouer et d'entretenir des liens avec ses semblables et avec le monde extérieur et qu'il englobe parfois des aspects de l'identité sociale d'un individu, il faut accepter que l'ensemble des liens sociaux entre les immigrés établis et la communauté dans laquelle ils vivent fasse partie intégrante de la notion de "vie privée". Indépendamment de l'existence ou non d'une "vie familiale", l'expulsion d'un étranger établi s'analyse en une atteinte à son droit au respect de sa vie privée (arrêts CourEDH K.M. § 46; Ukaj § 29; Hasanbasic § 48).
Selon la Cour européenne des droits de l'Homme, une décision de révoquer un permis de séjour et/ou de prononcer une mesure d'interdiction du territoire à l'égard d'un immigré de longue durée à la suite d'une infraction pénale qui a valu à l'intéressé une condamnation à une sanction pénale ne constitue pas une double peine. Les Etats contractants ont le droit de prendre à l'égard des personnes ayant été condamnées pour des infractions pénales des mesures de nature à protéger la société, pourvu bien entendu que, pour autant que ces mesures portent atteinte aux droits garantis par l'article 8 par. 1 CEDH, elles soient nécessaires dans une société démocratique et proportionnées au but poursuivi. Semblables mesures administratives doivent être considérées comme revêtant un caractère préventif plutôt que punitif (arrêt CourEDH Üner c. Pays-Bas du 18 octobre 2006 [requête no 46410/99], Recueil de la CourEDH 2006-XII p. 177 § 56).
La question de savoir si une ingérence dans le droit découlant de l'art. 8 par. 1 CEDH est justifiée doit se résoudre en recherchant, d'une part, si celle-ci est prévue par la loi, si, d'autre part, elle vise un but légitime et, enfin, si elle s'avère nécessaire dans une société démocratique (arrêts CourEDH Case of Salija c. Suisse du 10 janvier 2017 [requête no 55470/10] § 41; K.M. §§ 48 ss; Ukaj §§ 31 ss). Concernant ce dernier point, il convient de déterminer si la mesure prise respecte un juste équilibre entre, d'une part, le droit de l'intéressé au respect de sa vie privée et familiale, et, d'autre part, la protection de l'ordre public et la prévention des infractions pénales (arrêts CourEDH K.M. § 53; Hasanbasic § 56; Emre c. Suisse du 22 mai 2008 [requête no 42034/04] § 64; Boultif c. Suisse du 2 août 2001, Recueil de la CourEDH 2001-IX p. 137 § 47). S'agissant d'un étranger n'étant arrivé dans son pays d'accueil qu'à l'âge adulte, il convient d'examiner les éléments suivants (cf. arrêts CourEDH Shala c. Suisse du 15 novembre 2012 [requête no 52873/09] § 45; Gezginci c. Suisse du 9 décembre 2010 [requête no 16327/05] § 61; Emre § 68) :
- la nature et la gravité de l'infraction commise par l'étranger;
- la durée de son séjour dans le pays dont il doit être expulsé;
- le laps de temps écoulé entre la perpétration de l'infraction et la mesure litigieuse, ainsi que la conduite de l'intéressé durant cette période, et
- la solidité des liens sociaux, culturels et familiaux avec le pays hôte et avec le pays de destination.
Sur ce dernier point, la Cour européenne des droits de l'Homme a précisé que le motif sous-jacent à la décision de faire de la durée du séjour d'une personne dans le pays hôte l'un des éléments à prendre en considération résidait dans la supposition que plus longtemps une personne réside dans un pays particulier, plus forts sont ses liens avec ce pays et plus faibles sont ses liens avec son pays d'origine (arrêts CourEDH Maslov c. Autriche du 23 juin 2008 [requête no 1638/03] § 68; Emre §§ 68-69). Doivent enfin être prises en compte les circonstances particulières entourant le cas d'espèce, comme par exemple les éléments d'ordre médical, ainsi que la proportionnalité de la mesure litigieuse, à travers le caractère provisoire ou définitif de l'interdiction du territoire (arrêts CourEDH Hasanbasic § 55; Emre § 71). Les autorités nationales jouissent d'une certaine marge d'appréciation pour se prononcer sur la nécessité, dans une société démocratique, d'une ingérence dans l'exercice d'un droit protégé par l'article 8 CEDH et sur la proportionnalité de la mesure en question au but légitime poursuivi (arrêts CourEDH Case of Salija § 43; K.M. § 53; Ukaj § 36).
2.3. Dans le cadre de son examen de l'art. 8 CEDH, la cour cantonale a exposé que le recourant n'était pas arrivé en Suisse dans sa prime jeunesse. Concernant sa situation familiale, elle a relevé que l'intéressé prétendait avoir une fille en Suisse, tout en ignorant s'il en était bien le père biologique. Or, ce seul lien biologique n'était pas déterminant et il s'agissait de prendre en compte le lien familial réel. A cet égard, il apparaissait que le recourant n'entretenait aucune relation effective avec l'enfant en question. On pouvait même douter que l'intéressé ait vu un jour cette enfant et qu'il ait entretenu la moindre relation avec elle. Il convenait donc de ne pas considérer les prétendus liens entre le recourant et sa fille putative.
S'agissant de la nature et de la gravité de l'infraction commise, la cour cantonale a estimé que les faits pour lesquels le recourant avait été condamné n'étaient pas d'une extrême gravité. Cependant, le tableau délictueux présenté par celui-ci devait être examiné dans son ensemble. L'intéressé avait été condamné à quatre reprises depuis 2009, à des peines pécuniaires d'une gravité faible à moyenne prises isolément, mais totalisant néanmoins, après leur conversion, près d'une année de privation de liberté, soit 345 jours. L'importance de ce cumul de peine résidait d'une part dans la répétition d'actes délictueux et, d'autre part, dans le laps de temps toujours plus court entre les différentes condamnations. Le recourant avait récidivé quelques mois seulement après avoir exécuté plus de sept mois de détention, alors qu'il se savait dans une période de délai d'épreuve de la libération conditionnelle et bénéficiait d'un suivi auprès de la Fondation vaudoise de probation, du revenu d'insertion ainsi que d'un logement. Par ailleurs, le jugement attaqué portait non seulement sur une peine privative de liberté de cinq mois, mais également sur la révocation de la libération conditionnelle octroyée au recourant par ordonnance du Juge d'application des peines du 3 mai 2016, la réintégration de l'intéressé en établissement de détention pour l'exécution du solde de peine ayant été ordonnée. Ce solde n'était pas négligeable, puisqu'il portait sur 3 mois et 24 jours. Si une peine d'ensemble avait été fixée conformément à l'art. 89 al. 6 CP, celle-ci eût été de plus de 8 mois. En définitive, les infractions commises par le recourant présentaient, dans leur ensemble, une gravité objective qui, sans être écrasante, était tout de même assez importante.
S'agissant de la durée du séjour en Suisse, la cour cantonale a considéré que le recourant séjournait depuis 19 années dans ce pays. Une telle durée était considérable. Même si l'intéressé n'avait pas passé sa prime jeunesse ni sa scolarité en Suisse, il ne connaissait que la Suisse depuis près de deux décennies. La durée de ce séjour pesait ainsi d'un poids certain dans l'appréciation.
S'agissant du laps de temps écoulé entre la perpétration de l'infraction et la mesure, ainsi que de la conduite du recourant durant cette période, la cour cantonale a considéré que l'intéressé avait été interpellé immédiatement après son forfait, le 26 octobre 2016, et se trouvait détenu depuis cette date, de sorte que le laps de temps s'avérait relativement court. Le comportement du recourant depuis lors était difficile à apprécier en raison de sa détention, de sorte que cette circonstance devait rester neutre dans l'appréciation.
S'agissant de la solidité des liens sociaux, culturels et familiaux avec le pays hôte et le pays de destination, la cour cantonale a considéré que la famille du recourant était répartie entre le Vénézuela, où vivaient son père, son fils âgé de 24 ans et deux de ses frères, et la Suisse, où résidaient l'un de ses frères et deux de ses soeurs. Ainsi, en dehors du lien de la nationalité et de la langue, le recourant ne disposait plus d'attaches avec le Portugal. Le recourant vivait en Suisse depuis 19 ans. Son intégration sociale et professionnelle dans ce pays était cependant "lacunaire". Malgré une certaine expérience professionnelle dans le domaine de la maçonnerie, l'intéressé était sans emploi depuis deux ans et demi et émargeait à l'aide sociale. Il avait commis des infractions quasiment chaque année depuis 2009 et n'avait pas saisi les différentes chances de réinsertion qui lui avaient été offertes, notamment le soutien de la Fondation vaudoise de probation ou les mesures mises en oeuvre pour maîtriser sa consommation d'alcool. On pouvait donc émettre des réserves quant à la crédibilité ou, à tout le moins, aux capacités du recourant à réaliser les projets professionnels évoqués en cours d'enquête. Par ailleurs, dans la mesure où le recourant se prévalait de ses liens avec ses frères et soeurs en Suisse, il ne s'agissait pas du noyau de sa famille et ces liens familiaux ne l'avaient pas empêché de commettre des infractions. On ne voyait pas pourquoi il en irait différemment à l'avenir. En définitive, le recourant avait passé presque autant de temps au Portugal, au Vénézuela et en Suisse. Il n'avait que peu d'attaches avec chacun de ces trois pays.
S'agissant des circonstances particulières entourant le cas d'espèce, la cour cantonale a enfin considéré qu'à l'exception d'une dépendance à l'alcool, le dossier n'avait pas révélé d'éléments d'ordre médical faisant obstacle à l'expulsion. Celle-ci était limitée à cinq ans, ce qui n'était pas négligeable et pouvait être suffisant pour couper le faible lien qui unissait le recourant à la Suisse. Il s'agissait cependant de la durée minimale prévue par la loi.
En définitive, la cour cantonale a considéré que l'intérêt public à l'expulsion l'emportait sur l'intérêt privé du recourant à demeurer en Suisse. Si le vol pour lequel le recourant avait été condamné ne portait que sur des outils de chantier, le montant du butin s'élevait à plusieurs milliers de francs. En outre, la quotité de la peine prononcée pour réprimer les infractions concernées était certes modérée, mais l'ensemble du tableau délictueux présenté par le recourant était inquiétant. La dernière condamnation ne pouvait ainsi être isolée du long contexte de délinquance, parfois violente, dans lequel s'inscrivait le recourant depuis plusieurs années. En outre, l'intéressé n'avait manifestement rien appris de sa première période de détention, qui avait pourtant duré plusieurs mois, ayant récidivé peu après sa sortie. Il n'avait pas non plus tiré profit du soutien mis en place dans le cadre de sa libération conditionnelle. Il allait donc se retrouver, à sa sortie de détention, dans des conditions identiques, voire plus difficiles, qu'au moment de la commission des dernières infractions, dès lors qu'il émargerait toujours à l'aide sociale, devrait faire face à ses dettes et ne pourrait plus compter sur le suivi de la Fondation vaudoise de probation. Le risque de récidive était donc évident, de même que l'intérêt public à l'expulsion du recourant. A l'inverse, l'intérêt privé du recourant à rester en Suisse était faible. Certes, ce dernier ne disposait plus de réelles attaches avec son pays d'origine, qu'il avait quitté plus de 20 ans auparavant. Toutefois, ses attaches n'étaient guère plus solides avec la Suisse, d'une manière susceptible de renverser la balance des intérêts. En effet, le recourant ne pouvait se prévaloir d'aucune attache familiale concrète et n'avait tissé que peu de liens sociaux et culturels avec ce pays, dans lequel il était arrivé à l'âge adulte.
2.4. En l'espèce, au vu de la longue durée du séjour du recourant en Suisse, une expulsion du territoire constituerait indubitablement une ingérence dans son droit au respect de sa "vie privée". En revanche, il n'apparaît pas qu'une telle mesure porterait atteinte au droit de l'intéressé au respect de sa "vie familiale", dès lors qu'il ne ressort pas du jugement attaqué que celui-ci aurait un enfant en Suisse, ni qu'il entretiendrait une quelconque relation avec la fille dont il prétend être le père. Quoi qu'il en soit, l'ingérence qui serait portée dans son droit au respect de sa "vie privée" commande d'examiner les critères fixés en matière d'expulsion par la jurisprudence de la Cour européenne des droits de l'Homme.
2.5. L'ingérence dans la vie privée du recourant que constituerait son expulsion du territoire suisse est prévue par la loi, soit par l'art. 66a CP, ce que l'intéressé ne conteste pas.
Une telle mesure poursuit par ailleurs un "but légitime", c'est-à-dire compatible avec la CEDH, soit la défense de l'ordre et la prévention des infractions pénales. L'expulsion prononcée contre le recourant vise en particulier à éviter que celui-ci ne commette, à l'avenir, de nouveaux actes délictueux.
Il reste à déterminer si la mesure litigieuse s'avère nécessaire dans une société démocratique.
2.5.1. Il convient tout d'abord d'examiner la nature et la gravité des infractions commises par le recourant. La consommation de cocaïne du recourant, bien que régulière et s'inscrivant sur la durée, ne constitue pas une infraction grave. Elle ne saurait en particulier être jugée aussi grave pour l'ordre et la sécurité publics qu'une infraction portant sur le trafic de stupéfiants et contribuant à la propagation de substances illicites (cf. arrêt CourEDH Maslov § 80). De même, le vol commis par l'intéressé, s'il a été effectué par le biais d'une violation de domicile, n'a porté que sur quelques outils dont la valeur totale ne dépassait pas 3'000 francs. Le recourant a ainsi été condamné à une peine privative de liberté de cinq mois ainsi qu'à une amende de 200 francs.
Cette condamnation doit cependant être mise en perspective, soit considérée au regard des antécédents du recourant. Contrairement à ce que soutient ce dernier, la prise en compte des condamnations passées dans l'appréciation de la conformité de la mesure litigieuse avec les droits dont il peut se prévaloir à titre de l'art. 8 CEDH se justifie, conformément à la jurisprudence de la Cour européenne des droits de l'Homme (cf. par exemple arrêts CourEDH Ukaj § 37; Shala § 52). Une telle prise en compte ne consacre en particulier aucune violation du principe de non-rétroactivité de la loi pénale, puisqu'il ne s'agit pas d'appliquer l'art. 66a CP, entré en vigueur le 1er octobre 2016, aux comportements délictueux antérieurs à cette date, mais de considérer le comportement de l'intéressé depuis son arrivée en Suisse afin de déterminer si une expulsion peut se justifier au regard des exigences conventionnelles en matière de respect de la vie privée. A cet égard, il convient de relever que le recourant a été condamné à quatre reprises entre 2009 et 2014. Ces condamnations ont porté sur des infractions contre le patrimoine, sur des infractions en matière de circulation routière - à propos desquelles la Cour européenne des droits de l'Homme a déjà indiqué que si elles constituaient un danger potentiel, elles devaient néanmoins être appréciées à la lumière des sanctions relativement légères dont elles faisaient normalement l'objet (cf. arrêt CourEDH Emre § 75) -, sur une infraction contre l'administration de la justice, sur une infraction à la législation sur les étrangers et sur une autre contre l'autorité publique. Le recourant a invariablement été sanctionné par des peines pécuniaires de 60, 105 ou 120 jours-amende.
Il découle de ce qui précède que le recourant n'a certes jamais fait l'objet d'une condamnation pour une infraction grave ni portant atteinte à la vie ou à l'intégrité corporelle mais que les sanctions prononcées par le passé contre l'intéressé ne l'ont pas empêché de commettre de nouvelles infractions. Celui-ci a notamment récidivé alors qu'il bénéficiait d'une libération conditionnelle dont le délai d'épreuve courait toujours. Ainsi, au regard des antécédents du recourant, on ne peut sous-estimer la gravité des infractions commises en 2016 et qui font l'objet du jugement attaqué. Il est en particulier à craindre que le recourant menace, à l'avenir, l'ordre et la sécurité publics.
2.5.2. S'agissant de la durée du séjour du recourant en Suisse, on relèvera que celle-ci est considérable. L'intéressé séjourne en effet dans ce pays depuis plus de 19 ans. Cependant, lors de son arrivée en Suisse, le recourant était âgé de 28 ans et était donc largement adulte.
2.5.3. Concernant le laps de temps écoulé entre la perpétration des infractions et la mesure litigieuse, ainsi que la conduite de l'intéressé durant cette période, on relèvera que celles-ci ont été commises en 2016, soit récemment encore. Par ailleurs, aucun élément ne permet de retenir que le recourant aurait eu un comportement particulièrement bon ou mauvais depuis lors.
2.5.4. S'agissant de la solidité des liens sociaux, culturels et familiaux avec le pays hôte et avec le pays de destination, il convient tout d'abord de relever que le recourant n'est guère intégré en Suisse. En effet, il se trouve sans activité professionnelle depuis plusieurs années et reste au bénéfice d'un permis B malgré une présence de près de deux décennies dans le pays. Avant son incarcération, il résidait dans une chambre d'hôtel payée par l'aide sociale, de sorte que l'intéressé ne semble pas avoir créé un foyer stable en Suisse. Il ne ressort par ailleurs pas du jugement attaqué que le recourant disposerait dans ce pays d'un cercle social particulier ni qu'il y exercerait d'autres activités dénotant une intégration à la vie locale. Malgré ses affirmations concernant l'existence d'une fille, l'intéressé ne saurait être considéré comme entretenant une relation avec un enfant en Suisse (cf. consid. 2.4 supra). Rien ne permet par ailleurs de considérer qu'une telle relation puisse - à supposer qu'un lien biologique existe entre le recourant et son enfant putatif - se développer à l'avenir (cf. arrêt CourEDH Paradiso et Campanelli c. Italie du 24 janvier 2017 [requête no 25358/12] § 141). Quant au fait qu'un frère et deux soeurs du recourant résident en Suisse, il convient de rappeler que les rapports entre adultes ne bénéficient pas de la protection de l'art. 8 CEDH sans que soit démontrée l'existence d'éléments supplémentaires de dépendance, autres que les liens affectifs normaux (cf. arrêt CourEDH Kwakye-Nti et Dufie c. Pays-Bas du 7 novembre 2000 [requête no 31519/96]). Or, il ne ressort pas du jugement attaqué que le recourant entretiendrait un rapport particulier avec ses frère et soeurs vivant en Suisse. Ainsi, la solidité des liens sociaux, culturels et familiaux du recourant avec la Suisse sont faibles, malgré une importante durée de séjour.
Les liens que le recourant conserve avec le Portugal paraissent quant à eux ténus. En effet, l'intéressé n'a pas résidé dans ce pays depuis une trentaine d'années. Il y a néanmoins passé son enfance, accompli sa scolarité, y a travaillé et en maîtrise la langue.
En définitive, le recourant n'a plus guère de liens sociaux, culturels et familiaux avec son pays d'origine, mais ceux qu'il a tissé en Suisse paraissent pour ainsi dire inexistants. A la lecture du jugement attaqué, il apparaît que le seul élément tangible unissant l'intéressé à son pays hôte consiste aujourd'hui dans l'aide sociale qu'il perçoit. On ne voit pas, par ailleurs, eu égard à son âge et à sa profession, que ses chances de resocialisation ou de réinsertion professionnelle seraient plus faibles au Portugal qu'en Suisse, pays dans lequel le recourant ne se prévaut d'aucune perspective d'emploi.
2.5.5. S'agissant des circonstances particulières entourant le cas d'espèce, il n'apparaît pas qu'un élément d'ordre médical entrerait en considération.
Enfin, il convient de relever que l'expulsion du recourant a été prononcée pour une durée de cinq ans, ce qui doit être considéré dans l'appréciation de la proportionnalité de la mesure (cf. arrêts CourEDH Shala § 56; Üner § 65; Benhebba c. France du 10 juillet 2003 [requête no 53441/99] § 37).
2.5.6. Au vu de ce qui précède, en particulier des faibles liens unissant le recourant à la Suisse et de la possibilité qu'il conserve de se resocialiser au Portugal, de la condamnation non négligeable dont il a fait l'objet et du danger qu'il représente à l'avenir pour l'ordre et la sécurité publics, et compte tenu de la durée limitée de l'expulsion, il n'apparaît pas que la mesure litigieuse constituerait une atteinte disproportionnée à la vie privée de l'intéressé, qui se révélerait non nécessaire dans une société démocratique.
2.6. L'expulsion prononcée par la cour cantonale ne viole pas l'art. 8 CEDH, de sorte que le grief doit être rejeté.
3.
Le recourant soutient que son expulsion du territoire suisse violerait l'art. 17 du Pacte international relatif aux droits civils et politiques (RS 0.103.2), dont l'al. 1 dispose que nul ne sera l'objet d'immixtions arbitraires ou illégales dans sa vie privée, sa famille, son domicile ou sa correspondance, ni d'atteintes illégales à son honneur et à sa réputation. Cette disposition ne confère cependant pas une protection plus étendue que celle découlant de l'art. 8 par. 1 CEDH (cf. ATF 139 II 404 consid. 7.1 p. 421 s.; arrêt 2C_505/2009 du 29 mars 2010 consid. 5.1 non publié aux ATF 136 I 285). Dès lors que la mesure litigieuse ne porte pas atteinte à cette dernière disposition (cf. consid. 2.6 supra) et que le recourant ne développe aucune argumentation distincte de celle portant sur l'art. 8 CEDH, le grief doit être rejeté.
4.
Le recourant soutient en outre que son expulsion du territoire suisse violerait l'art. 5 annexe I de l'accord sur la libre circulation des personnes (ALCP; RS 0.142.112.681). Ce grief, soulevé dans le cadre de la procédure d'appel, n'a pas été traité par la cour cantonale, sans que le recourant ne se plaigne devant le Tribunal fédéral d'un déni de justice ou d'une violation de son droit d'être entendu à cet égard. Il ne saurait donc être question d'entrer en matière à cet égard, faute d'épuisement des instances cantonales (cf. art. 80 al. 1 LTF).
5.
Le recourant reproche à la cour cantonale d'avoir ordonné sa détention à titre de sûreté. Selon lui, cette décision violerait l'art. 232 CPP, dès lors qu'aucun élément nouveau ne serait apparu postérieurement au prononcé du jugement de première instance. L'intéressé fait par ailleurs grief à l'autorité précédente de ne pas avoir motivé sa décision sur ce point et se plaint, à cet égard, d'une violation de son droit d'être entendu.
La détention pour des motifs de sûreté relève de la compétence de la Première Cour de droit public du Tribunal fédéral (cf. art. 29 al. 3 du règlement du Tribunal fédéral [RTF; RS 173.110.131]). Il est néanmoins expédient de statuer dans le cadre du présent recours, seul un vice formel étant pris en compte, sans examen des conditions spécifiques à la détention pour des motifs de sûreté.
5.1. Lors du prononcé du jugement en appel, le tribunal de deuxième instance doit, à l'instar de celui de première instance, se prononcer sur la question de la détention. En effet, si l'autorité d'appel entre en matière, son jugement se substitue à celui de première instance (art. 408 CPP); il y a lieu dès lors d'appliquer mutatis mutandis l'art. 231 CPP et de décider si le condamné doit être placé ou maintenu en détention pour garantir l'exécution de la peine ou de la mesure prononcée ou, en prévision d'un éventuel recours, pour autant que les conditions de l'art. 221 CPP soient satisfaites. La juridiction d'appel peut ainsi prononcer le maintien de la détention pour des motifs de sûreté, ou ordonner une mise en détention en se fondant sur l'art. 232 CPP. Cette décision, qui doit être dûment motivée, peut être prononcée par le tribunal in corpore si elle est rendue dans le cadre du jugement sur appel, ou par la direction de la procédure si elle est rendue après le prononcé. Lorsqu'un recours a été déposé au Tribunal fédéral contre le jugement d'appel, cela n'a pas pour conséquence de transférer à la juridiction fédérale les compétences cantonales en matière de prolongation de détention ou de mise en liberté (ATF 139 IV 277 consid. 2.2 p. 280 s. et les références citées).
5.2. La jurisprudence a déduit du droit d'être entendu de l'art. 29 al. 2 Cst. l'obligation, pour l'autorité, de motiver sa décision, afin que l'intéressé puisse se rendre compte de la portée de celle-ci et exercer son droit de recours à bon escient (ATF 142 I 135 consid. 2.1 p. 145). Pour satisfaire à ces exigences, il suffit que l'autorité mentionne, au moins brièvement, les motifs qui l'ont guidée et sur lesquels elle a fondé son raisonnement (ATF 142 II 154 consid. 4.2 p. 157). La motivation peut être implicite et résulter des différents considérants de la décision (ATF 141 V 557 consid. 3.2.1 p. 565).
5.3. Le grief du recourant est infondé dans la mesure où il consiste à dénier à la cour cantonale la compétence d'ordonner le maintien en détention pour des motifs de sûreté. Cette décision, prise conformément à l'art. 231 CPP, ne nécessite en effet aucunement l'apparition de nouveaux motifs de détention durant la procédure d'appel au sens de l'art. 232 al. 1 CPP (cf. consid. 5.1 supra).
Le tribunal de première instance a, au chiffre VI de son dispositif, ordonné "le maintien en détention [du recourant] afin de garantir l'exécution de la peine privative de liberté prononcée sous chiffre III et du solde de la peine mentionnée sous chiffre V". La cour cantonale a quant à elle ordonné, au chiffre IV du dispositif du jugement attaqué, le maintien en détention du recourant "à titre de sûreté". C'est en vain que l'on cherche, dans les considérants de cette décision, les motifs ayant conduit la cour cantonale à prononcer cette détention. On ignore ainsi si la cour cantonale entendait, conformément à l'art. 220 al. 2 CPP, maintenir le recourant en détention pour des motifs de sûreté jusqu'à l'entrée en force de son jugement, jusqu'à ce que l'intéressé commence à purger sa sanction privative de liberté, ou jusqu'à l'exécution de son expulsion, étant précisé que la disposition précitée fournit une base légale suffisante pour placer un prévenu en détention en vue de garantir l'exécution d'une telle mesure (cf. ATF 143 IV 168 consid. 3.2 p. 171). On ne sait pas non plus pour quel motif, au sens de l'art. 221 al. 1 CPP, la cour cantonale entendait maintenir le recourant en détention.
En ordonnant le maintien en détention du recourant à titre de sûreté sans préciser les fins et les motifs de celle-ci, la cour cantonale a violé le droit d'être entendu de l'intéressé, lequel n'a pas pu exercer son droit de recours à bon escient sur ce point. Le jugement attaqué doit ainsi être annulé et la cause renvoyée à l'autorité cantonale afin qu'elle en complète la motivation.
6.
Le recours doit être partiellement admis (cf. consid. 5.3 supra), le chiffre IV du dispositif du jugement attaqué doit être annulé et la cause renvoyée à l'autorité cantonale pour nouvelle décision. Au regard de la nature procédurale du vice concerné, il peut être procédé au renvoi sans ordonner préalablement un échange d'écritures (cf. ATF 133 IV 293 consid. 3.4.2 p. 296). Pour le surplus, le recours doit être rejeté dans la mesure où il est recevable. Dans la mesure où il obtient gain de cause, le recourant peut prétendre à des dépens réduits, à la charge du canton de Vaud (art. 68 al. 1 LTF). Pour le reste, dès lors qu'il est dans le besoin et que ses conclusions ne paraissaient pas dénuées de chances de succès, sa requête d'assistance judiciaire doit être admise. Par conséquent, il y a lieu de le dispenser des frais et d'allouer une indemnité à son mandataire, désigné comme avocat d'office (art. 64 al. 2 LTF).
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est partiellement admis. Le chiffre IV du dispositif du jugement attaqué est annulé et la cause est renvoyée à l'autorité cantonale pour nouvelle décision. Pour le surplus, le recours est rejeté dans la mesure où il est recevable.
2.
Le canton de Vaud versera au recourant une indemnité de 1'000 fr. à titre de dépens pour la procédure devant le Tribunal fédéral.
3.
La requête d'assistance judiciaire est admise dans la mesure où elle n'est pas sans objet. Me Julien Perrin est désigné comme conseil d'office et une indemnité de 2'000 fr. lui est allouée à titre d'honoraires, à payer par la caisse du Tribunal fédéral.
4.
Il n'est pas perçu de frais judiciaires.
5.
Le présent arrêt est communiqué aux parties et à la Cour d'appel pénale du Tribunal cantonal du canton de Vaud.
Lausanne, le 14 février 2018
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
Le Greffier : Graa