Use chopstx_main_init.
[gnuk/gnuk.git] / src / Makefile.in
index eed49be..0e916e0 100644 (file)
@@ -1,91 +1,38 @@
 # Makefile for Gnuk
 
-BOARD_DIR=@BOARD_DIR@
-@PINPAD_MAKE_OPTION@
-@DEBUG_MAKE_OPTION@
-
-##############################################################################
-# Build global options
-# NOTE: Can be overridden externally.
-#
-
-# Compiler options here.
-ifeq ($(USE_OPT),)
-  USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16
-endif
-
-# C++ specific options here (added to USE_OPT).
-ifeq ($(USE_CPPOPT),)
-  USE_CPPOPT = -fno-rtti
-endif
-
-# Enable this if you want the linker to remove unused code and data
-ifeq ($(USE_LINK_GC),)
-  USE_LINK_GC = yes
-endif
-
-# If enabled, this option allows to compile the application in THUMB mode.
-ifeq ($(USE_THUMB),)
-  USE_THUMB = yes
-endif
-
-# Enable register caching optimization (read documentation).
-ifeq ($(USE_CURRP_CACHING),)
-  USE_CURRP_CACHING = no
-endif
+# Define project name here
+PROJECT = gnuk
 
-#
-# Build global options
-##############################################################################
+CHOPSTX = ../chopstx
 
-##############################################################################
-# Architecture or project specific options
-#
+# Define linker script file here
+LDSCRIPT= gnuk.ld
 
-# Enable this if you really want to use the STM FWLib.
-ifeq ($(USE_FWLIB),)
-  USE_FWLIB = no
-endif
+CSRC = main.c usb_stm32f103.c adc_stm32f103.c \
+       usb_desc.c usb_ctrl.c \
+       call-rsa.c \
+       usb-icc.c openpgp.c ac.c openpgp-do.c flash.c \
+       bn.c mod.c \
+       modp256r1.c jpc_p256r1.c ec_p256r1.c call-ec_p256r1.c \
+       modp256k1.c jpc_p256k1.c ec_p256k1.c call-ec_p256k1.c \
+       mod25638.c ecc-edwards.c sha512.c \
+       random.c neug.c sha256.c sys.c
 
-#
-# Architecture or project specific options
-##############################################################################
+INCDIR =
 
-##############################################################################
-# Project, sources and paths
-#
+CRYPTDIR = ../polarssl
+CRYPTSRCDIR = $(CRYPTDIR)/library
+CRYPTINCDIR = $(CRYPTDIR)/include
+CRYPTSRC = $(CRYPTSRCDIR)/bignum.c $(CRYPTSRCDIR)/rsa.c $(CRYPTSRCDIR)/aes.c
 
-# Define project name here
-PROJECT = gnuk
+CSRC += $(CRYPTSRC)
+INCDIR += $(CRYPTINCDIR)
 
-# Define linker script file here
-LDSCRIPT= gnuk.ld
+@PINPAD_MAKE_OPTION@
+@DEBUG_MAKE_OPTION@
+@HEXOUTPUT_MAKE_OPTION@
 
-# Imported source files
-CHIBIOS = ../ChibiOS_2.0.8
-include $(CHIBIOS)/os/hal/platforms/STM32/platform.mk
-include $(CHIBIOS)/os/hal/hal.mk
-include $(CHIBIOS)/os/ports/GCC/ARMCMx/STM32F10x/port.mk
-include $(CHIBIOS)/os/kernel/kernel.mk
-include crypt.mk
-
-# C sources that can be compiled in ARM or THUMB mode depending on the global
-# setting.
-CSRC = $(PORTSRC) \
-       $(KERNSRC) \
-       $(HALSRC) \
-       $(PLATFORMSRC) \
-       $(BOARDSRC) \
-       ../boards/common/hw_config.c \
-       $(BOARD_DIR)/board.c \
-       $(CHIBIOS)/os/various/evtimer.c \
-       $(CHIBIOS)/os/various/syscalls.c \
-       $(VCOMSRC) \
-       $(CRYPTSRC) \
-       main.c usb_lld.c \
-       usb_desc.c usb_prop.c \
-       usb-icc.c openpgp.c ac.c openpgp-do.c flash.c \
-       random.c neug.c
+USE_EVENTFLAG = yes
 
 ifneq ($(ENABLE_DEBUG),)
 CSRC += debug.c
@@ -99,111 +46,30 @@ ifeq ($(ENABLE_PINPAD),dnd)
 CSRC += usb-msc.c
 endif
 
-# List ASM source files here
-ASMSRC = $(PORTASM) \
-         $(CHIBIOS)/os/ports/GCC/ARMCMx/STM32F10x/vectors.s
-
-INCDIR = $(CRYPTINCDIR) \
-        $(PORTINC) $(KERNINC) $(TESTINC) \
-         $(HALINC) $(PLATFORMINC) ../boards/common $(BOARD_DIR) \
-         $(CHIBIOS)/os/various
-
-#
-# Project, sources and paths
-##############################################################################
-
-##############################################################################
-# Compiler settings
-#
-
-MCU  = cortex-m3
-
-#TRGT = arm-elf-
-TRGT = arm-none-eabi-
-CC   = $(TRGT)gcc
-CPPC = $(TRGT)g++
-# Enable loading with g++ only if you need C++ runtime support.
-# NOTE: You can use C++ even without C++ support if you are careful. C++
-#       runtime support makes code size explode.
-LD   = $(TRGT)gcc
-#LD   = $(TRGT)g++
-CP   = $(TRGT)objcopy
-AS   = $(TRGT)gcc -x assembler-with-cpp
-OD   = $(TRGT)objdump
-HEX  = $(CP) -O ihex
-BIN  = $(CP) -O binary
-
-# ARM-specific options here
-AOPT =
-
-# THUMB-specific options here
-TOPT = -mthumb -DTHUMB
-
-# Define C warning options here
-CWARN = -Wall -Wextra -Wstrict-prototypes
-
-# Define C++ warning options here
-CPPWARN = -Wall -Wextra
-
-#
-# Compiler settings
-##############################################################################
-
-##############################################################################
-# Start of default section
-#
-
-# List all default C defines here, like -D_DEBUG=1
-DDEFS = -DCORTEX_USE_BASEPRI=TRUE
-
-# List all default ASM defines here, like -D_DEBUG=1
-DADEFS =
+###################################
+CROSS = arm-none-eabi-
+CC   = $(CROSS)gcc
+LD   = $(CROSS)gcc
+OBJCOPY   = $(CROSS)objcopy
 
-# List all default directories to look for include files here
-DINCDIR =
-
-# List the default directory to look for the libraries here
-DLIBDIR =
-
-# List all default libraries here
-DLIBS =
-
-#
-# End of default section
-##############################################################################
-
-##############################################################################
-# Start of user section
-#
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS =
-
-# Define ASM defines here
-UADEFS =
-
-# List all user directories here
-UINCDIR =
-
-# List the user directory to look for the libraries here
-ULIBDIR =
+MCU   = cortex-m3
+CWARN = -Wall -Wextra -Wstrict-prototypes
+# DEFS: Add  
+DEFS  = @KEYGEN_SUPPORT@ @HAVE_SYS_H@
+OPT   = -O3 -Os -g
+LIBS  =
 
-# List all user libraries here
-ULIBS =
+#######################
+include $(CHOPSTX)/rules.mk
 
-#
-# End of user defines
-##############################################################################
+board.h:
+       @echo Please run configure to have a symbolic link \'board.h\'
+       @exit 1
 
-ifeq ($(USE_FWLIB),yes)
-  include $(CHIBIOS)/ext/stm32lib/stm32lib.mk
-  CSRC += $(STM32SRC)
-  INCDIR += $(STM32INC)
-  USE_OPT += -DUSE_STDPERIPH_DRIVER
-endif
+sys.c: board.h
 
-include $(CHIBIOS)/os/ports/GCC/ARM/rules.mk
-MCFLAGS= -mcpu=$(MCU) -mfix-cortex-m3-ldrd
+build/bignum.o: OPT = -O3 -g
 
 distclean: clean
-       -rm -f Makefile gnuk.ld config.h *.inc
+       -rm -f gnuk.ld config.h board.h Makefile \
+              usb-strings.c.inc usb-vid-pid-ver.c.inc