1## ----------------------------------------------------------------------- 2## 3## Copyright 2001-2008 H. Peter Anvin - All Rights Reserved 4## 5## This program is free software; you can redistribute it and/or modify 6## it under the terms of the GNU General Public License as published by 7## the Free Software Foundation, Inc., 53 Temple Place Ste 330, 8## Boston MA 02111-1307, USA; either version 2 of the License, or 9## (at your option) any later version; incorporated herein by reference. 10## 11## ----------------------------------------------------------------------- 12 13## 14## MS-DOS FAT installer 15## 16 17include $(MAKEDIR)/embedded.mk 18 19CFLAGS += -D__MSDOS__ -mregparm=3 -DREGPARM=3 20# CFLAGS += -DDEBUG 21 22LDFLAGS = -T $(SRC)/dosexe.ld 23OPTFLAGS = -g 24INCLUDES = -include code16.h -nostdinc -iwithprefix include \ 25 -I$(SRC) -I$(SRC)/.. -I$(SRC)/../libfat \ 26 -I $(SRC)/../libinstaller -I $(SRC)/../libinstaller/getopt \ 27 -I$(objdir) 28 29SRCS = syslinux.c \ 30 ../libinstaller/fs.c \ 31 ../libinstaller/syslxmod.c \ 32 ../libinstaller/syslxopt.c \ 33 ../libinstaller/setadv.c \ 34 ../libinstaller/getopt/getopt_long.c \ 35 ../libinstaller/bootsect_bin.c \ 36 ../libinstaller/mbr_bin.c \ 37 $(wildcard $(SRC)/../libfat/*.c) 38OBJS = header.o crt0.o ldlinux.o \ 39 $(patsubst %.c,%.o,$(notdir $(SRCS))) 40LIBOBJS = int2526.o conio.o memcpy.o memset.o memmove.o skipatou.o atou.o \ 41 malloc.o free.o getopt_long.o getsetsl.o strchr.o strtoul.o \ 42 strntoumax.o argv.o printf.o __divdi3.o __udivmoddi4.o 43 44VPATH = $(SRC):$(SRC)/../libfat:$(SRC)/../libinstaller:$(SRC)/../libinstaller/getopt:$(OBJ)/../libinstaller 45 46TARGETS = syslinux.com 47 48all: $(TARGETS) 49 50tidy dist: 51 -rm -f *.o *.i *.s *.a .*.d *.tmp *.elf *.lst 52 53clean: tidy 54 55spotless: clean 56 -rm -f *~ $(TARGETS) 57 58installer: 59 60syslinux.elf: $(OBJS) dosexe.ld libcom.a 61 $(LD) $(LDFLAGS) -o $@ $(OBJS) libcom.a 62 63libcom.a: $(LIBOBJS) 64 -rm -f $@ 65 $(AR) cq $@ $^ 66 $(RANLIB) $@ 67 68syslinux.com: syslinux.elf 69 $(OBJCOPY) -O binary $< $@ 70 $(UPX) --lzma --ultra-brute $@ || \ 71 $(UPX) --ultra-brute $@ || \ 72 true 73 74%.com: %.asm 75 $(NASM) $(NASMOPT) -f bin -o $@ -MP -MD .$@.d -l $*.lst $< 76 77ldlinux.o: ldlinux.S $(OBJ)/../core/ldlinux.sys 78 79-include .*.d 80