# Makefile for sd-proc, sd-debug and sd-status sd-output

#.PHONY: sd-proc

SUBDIRS	= msg

.PHONY : $(SUBDIRS)

-include $(LINUX_CONFIG)
-include $(CONFIG_CONFIG)
-include $(ARCH_CONFIG)
-include $(MODULES_CONFIG)

EXEC = timers fpga sd-proc sd-status sd-output sd-debug sd-status_update network
INCLUDE = util.h default_1Door.h default_2Door.h registers.h default_options.h output_options1.h input_lut_config.h

all: $(EXEC) $(SUBDIRS)

clean:
	-rm -f $(EXEC) *.gdb *.elf *.o
	$(MAKE) -C $(SUBDIRS) clean
	
all: fpga sd-proc sd-status sd-output sd-debug sd-status_update sd-statusn getlog

sd-proc: sd-proc.c log.c util.c input_lut_config.h $(INCLUDE)
	../uClinux/tools/ucfront-gcc arm-elf-gcc -Os -fomit-frame-pointer -fno-common -fno-builtin -Wall -DEMBED -Dlinux -D__linux__ -Dunix -D__uClinux__ -Wl,-elf2flt="-r" -o sd-proc sd-proc.c util.c log.c cgihtml.a

sd-debug: sd-debug.c util.c $(INCLUDE)
	../uClinux/tools/ucfront-gcc arm-elf-gcc -Os -fomit-frame-pointer -fno-common -fno-builtin -Wall -DEMBED -Dlinux -D__linux__ -Dunix -D__uClinux__ -Wl,-elf2flt="-r" -o sd-debug sd-debug.c util.c cgihtml.a

sd-status: sd-status.c util.c $(INCLUDE)
	../uClinux/tools/ucfront-gcc arm-elf-gcc -Os -fomit-frame-pointer -fno-common -fno-builtin -Wall -DEMBED -Dlinux -D__linux__ -Dunix -D__uClinux__ -Wl,-elf2flt="-r" -o sd-status sd-status.c util.c cgihtml.a

sd-status_update: sd-status_update.c util.c $(INCLUDE)
	../uClinux/tools/ucfront-gcc arm-elf-gcc -Os -fomit-frame-pointer -fno-common -fno-builtin -Wall -DEMBED -Dlinux -D__linux__ -Dunix -D__uClinux__ -Wl,-elf2flt="-r" -o sd-status_update sd-status_update.c util.c cgihtml.a

sd-output: sd-output.c util.c $(INCLUDE)
	../uClinux/tools/ucfront-gcc arm-elf-gcc -Os -fomit-frame-pointer -fno-common -fno-builtin -Wall -DEMBED -Dlinux -D__linux__ -Dunix -D__uClinux__ -Wl,-elf2flt="-r" -o sd-output sd-output.c util.c cgihtml.a

fpga: fpga.c util.c $(INCLUDE)
	../uClinux/tools/ucfront-gcc arm-elf-gcc -Os -fomit-frame-pointer -fno-common -fno-builtin -Wall -DEMBED -Dlinux -D__linux__ -Dunix -D__uClinux__ -Wl,-elf2flt="-r" -o fpga fpga.c util.c cgihtml.a

timers: timers.c util.c $(INCLUDE)
	../uClinux/tools/ucfront-gcc arm-elf-gcc -Os -fomit-frame-pointer -fno-common -fno-builtin -Wall -DEMBED -Dlinux -D__linux__ -Dunix -D__uClinux__ -Wl,-elf2flt="-r" -o timers timers.c util.c cgihtml.a

sd-statusn: sd-statusn.c util.c $(INCLUDE)
	../uClinux/tools/ucfront-gcc arm-elf-gcc -Os -fomit-frame-pointer -fno-common -fno-builtin -Wall -DEMBED -Dlinux -D__linux__ -Dunix -D__uClinux__ -Wl,-elf2flt="-r" -o sd-statusn sd-statusn.c util.c cgihtml.a

getlog: getlog.c util.c $(INCLUDE)
	../uClinux/tools/ucfront-gcc arm-elf-gcc -Os -fomit-frame-pointer -fno-common -fno-builtin -Wall -DEMBED -Dlinux -D__linux__ -Dunix -D__uClinux__ -Wl,-elf2flt="-r" -o getlog getlog.c util.c cgihtml.a

network: network.c util.c $(INCLUDE)
	../uClinux/tools/ucfront-gcc arm-elf-gcc -Os -fomit-frame-pointer -fno-common -fno-builtin -Wall -DEMBED -Dlinux -D__linux__ -Dunix -D__uClinux__ -Wl,-elf2flt="-r" -o network network.c util.c cgihtml.a
		
$(SUBDIRS):
	$(MAKE) -C $@ all
	