]> code.delx.au - refind/blobdiff - refind/Makefile
Misc small changes, mostly to refind-mkdefault
[refind] / refind / Makefile
index eb981408f42016819199307290aef0ffa387e35b..88fbc407775cede3141c68614b438752275b686a 100644 (file)
@@ -2,6 +2,10 @@
 # refind/Makefile
 # Build control file for the rEFInd boot menu
 #
+# This program is licensed under the terms of the GNU GPL, version 3,
+# or (at your option) any later version.
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
 
 SRCDIR = .
 
@@ -21,20 +25,36 @@ ifeq ($(ARCH),x86_64)
   TARGET = refind_x64.efi
 endif
 
-LOCAL_CPPFLAGS  = -I$(SRCDIR) -I$(SRCDIR)/../include -I$(SRCDIR)/../libeg
-#LOCAL_LDFLAGS   = -L$(SRCDIR)/../libeg/$(LIBEG)
-LOCAL_LDFLAGS   = -L$(SRCDIR)/../libeg/
-LOCAL_LIBS      = -leg
+ifeq ($(ARCH),aarch64)
+  LIBEG = build
+  TARGET = refind_aa64.efi
+endif
 
-OBJS            = main.o config.o menu.o screen.o icns.o lib.o mok.o driver_support.o
+LOCAL_GNUEFI_CFLAGS  = -I$(SRCDIR) -I$(SRCDIR)/../include \
+                       -I$(SRCDIR)/../libeg -I$(SRCDIR)/../mok
+LOCAL_LDFLAGS   = -L$(SRCDIR)/../libeg/ -L$(SRCDIR)/../mok/ \
+                  -L$(SRCDIR)/../EfiLib/
+LOCAL_LIBS      = -leg -lmok -lEfiLib
 
-all: $(TARGET)
+OBJS            = main.o mystrings.o apple.o line_edit.o config.o menu.o \
+                  screen.o icns.o gpt.o crc32.o lib.o driver_support.o \
+                 legacy.o
 
 include $(SRCDIR)/../Make.common
 
+all: $(TARGET)
+
+$(SHLIB_TARGET): $(OBJS)
+       $(LD) $(LOCAL_LDFLAGS) $(GNUEFI_LDFLAGS) $(SUBSYSTEM_LDFLAG) $(OBJS) \
+             -o $@ $(LOCAL_LIBS) $(GNUEFI_LIBS)
+
 $(TARGET): $(SHLIB_TARGET)
        $(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic -j .dynsym -j .rel \
-                  -j .rela -j .reloc --target=$(FORMAT) $< $@
+                  -j .rela -j .rel.* -j .rela.* -j .rel* -j .rela* \
+                  -j .reloc $(FORMAT) $< $@
+       chmod a-x $(TARGET)
+
+clean:
+       rm -f $(TARGET) *~ *.so $(OBJS) *.efi *.obj refind_*.txt \
+               refind_*.dll *.lib
 
-# EOF
-# DO NOT DELETE