Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1.  
  2. CC = kos32-gcc
  3. FASM = fasm.exe
  4.  
  5. DRV_DIR   = $(CURDIR)/..
  6.  
  7. DRV_INCLUDES = $(DRV_DIR)/include
  8.  
  9. ACPI_INCLUDES = ./acpica/include
  10.  
  11. INCLUDES =      -I$(DRV_INCLUDES)       \
  12.                 -I$(DRV_INCLUDES)/asm   \
  13.                 -I$(DRV_INCLUDES)/uapi
  14.                
  15. INCLUDES+= -I$(ACPI_INCLUDES) -I./
  16.  
  17. DEFINES  = -D_LINUX -D__KERNEL__ -DCONFIG_X86 -DCONFIG_X86_32 -DCONFIG_PCI -DCONFIG_ACPI -DBUILDING_ACPICA
  18. DEFINES += -DCONFIG_X86_CMPXCHG64 -DCONFIG_TINY_RCU -DCONFIG_X86_L1_CACHE_SHIFT=6
  19. DEFINES += -DACPI_USE_LOCAL_CACHE -DACPI_NO_ERROR_MESSAGES
  20. DEFINES += -DCONFIG_DMI -DCONFIG_ACPI_REDUCED_HARDWARE_ONLY -DKBUILD_MODNAME=\"acpi.dll\"
  21.  
  22. CFLAGS_OPT = -Os -march=i686 -fomit-frame-pointer  -fno-ident -mno-stack-arg-probe
  23. CFLAGS_OPT+= -fno-builtin-printf -fno-builtin-snprintf -fno-builtin-sscanf -fno-builtin-vsscanf
  24. CFLAGS_OPT+= -fno-builtin-scnprintf -fno-builtin-vsprintf -fno-builtin-vsnprintf
  25. CFLAGS_OPT+= -mno-ms-bitfields
  26. CFLAGS = $(INCLUDES) $(DEFINES) $(CFLAGS_OPT)
  27.  
  28.  
  29. PE_FLAGS=--major-os-version,0,--minor-os-version,7,--major-subsystem-version,0,--minor-subsystem-version,5,--subsystem,native
  30.  
  31. LDFLAGS=-e,_drvEntry,-nostdlib,-s,-pie,$(PE_FLAGS),--image-base,0,--file-alignment,512,--section-alignment,512
  32.  
  33. LIBPATH:= -L$(DRV_DIR)/ddk -L./acpica
  34.  
  35. LIBS:=    -lcore
  36.  
  37.  
  38. NAME= acpi
  39.  
  40. NAME_SRCS=      acpi.c                  \
  41.                 blacklist.c             \
  42.                 boot.c                  \
  43.                 bus.c                   \
  44.                 tables.c                \
  45.                 acpica/dsargs.c         \
  46.                 acpica/dscontrol.c      \
  47.                 acpica/dsdebug.c        \
  48.                 acpica/dsfield.c        \
  49.                 acpica/dsinit.c         \
  50.                 acpica/dsmethod.c       \
  51.                 acpica/dsmthdat.c       \
  52.                 acpica/dsobject.c       \
  53.                 acpica/dsopcode.c       \
  54.                 acpica/dsutils.c        \
  55.                 acpica/dswexec.c        \
  56.                 acpica/dswload.c        \
  57.                 acpica/dswload2.c       \
  58.                 acpica/dswscope.c       \
  59.                 acpica/dswstate.c       \
  60.                 acpica/evmisc.c         \
  61.                 acpica/evregion.c       \
  62.                 acpica/evrgnini.c       \
  63.                 acpica/exconfig.c       \
  64.                 acpica/exconvrt.c       \
  65.                 acpica/excreate.c       \
  66.                 acpica/exdebug.c        \
  67.                 acpica/exfield.c        \
  68.                 acpica/exfldio.c        \
  69.                 acpica/exmisc.c         \
  70.                 acpica/exmutex.c        \
  71.                 acpica/exnames.c        \
  72.                 acpica/exoparg1.c       \
  73.                 acpica/exoparg2.c       \
  74.                 acpica/exoparg3.c       \
  75.                 acpica/exoparg6.c       \
  76.                 acpica/exprep.c         \
  77.                 acpica/exresnte.c       \
  78.                 acpica/exresolv.c       \
  79.                 acpica/exresop.c        \
  80.                 acpica/exstore.c        \
  81.                 acpica/exstoren.c       \
  82.                 acpica/exstorob.c       \
  83.                 acpica/exsystem.c       \
  84.                 acpica/exutils.c        \
  85.                 acpica/nsaccess.c       \
  86.                 acpica/nsalloc.c        \
  87.                 acpica/nsarguments.c    \
  88.                 acpica/nsconvert.c      \
  89.                 acpica/nseval.c         \
  90.                 acpica/nsinit.c         \
  91.                 acpica/nsload.c         \
  92.                 acpica/nsnames.c        \
  93.                 acpica/nsobject.c       \
  94.                 acpica/nsparse.c        \
  95.                 acpica/nspredef.c       \
  96.                 acpica/nsprepkg.c       \
  97.                 acpica/nsrepair.c       \
  98.                 acpica/nsrepair2.c      \
  99.                 acpica/nssearch.c       \
  100.                 acpica/nsutils.c        \
  101.                 acpica/nswalk.c         \
  102.                 acpica/psargs.c         \
  103.                 acpica/psloop.c         \
  104.                 acpica/psobject.c       \
  105.                 acpica/psopcode.c       \
  106.                 acpica/psopinfo.c       \
  107.                 acpica/psparse.c        \
  108.                 acpica/psscope.c        \
  109.                 acpica/pstree.c         \
  110.                 acpica/psutils.c        \
  111.                 acpica/pswalk.c         \
  112.                 acpica/psxface.c        \
  113.                 acpica/tbdata.c         \
  114.                 acpica/tbfind.c         \
  115.                 acpica/tbfadt.c         \
  116.                 acpica/tbinstal.c       \
  117.                 acpica/tbprint.c        \
  118.                 acpica/tbutils.c        \
  119.                 acpica/tbxface.c        \
  120.                 acpica/tbxfload.c       \
  121.                 acpica/utaddress.c      \
  122.                 acpica/utalloc.c        \
  123.                 acpica/utbuffer.c       \
  124.                 acpica/utcache.c        \
  125.                 acpica/utcopy.c         \
  126.                 acpica/utdecode.c       \
  127.                 acpica/utdelete.c       \
  128.                 acpica/uterror.c        \
  129.                 acpica/utexcep.c        \
  130.                 acpica/utglobal.c       \
  131.                 acpica/uthex.c          \
  132.                 acpica/utinit.c         \
  133.                 acpica/utlock.c         \
  134.                 acpica/utmath.c         \
  135.                 acpica/utmisc.c         \
  136.                 acpica/utmutex.c        \
  137.                 acpica/utnonansi.c      \
  138.                 acpica/utobject.c       \
  139.                 acpica/utosi.c          \
  140.                 acpica/utownerid.c      \
  141.                 acpica/utpredef.c       \
  142.                 acpica/utresrc.c        \
  143.                 acpica/utstate.c        \
  144.                 acpica/utstring.c       \
  145.                 acpica/utxface.c        \
  146.                 acpica/utxferror.c      \
  147.                 acpica/utxfinit.c       \
  148.                 ../ddk/debug/dbglog.c   \
  149.                 ../ddk/io/create.c      \
  150.                 ../ddk/io/finfo.c       \
  151.                 ../ddk/io/ssize.c       \
  152.                 ../ddk/io/write.c       \
  153.                 ../ddk/malloc/malloc.c  \
  154.                 ../ddk/linux/ctype.c    \
  155.                 ../ddk/linux/div64.c    \
  156.                 ../ddk/linux/dmi.c      \
  157.                 ../ddk/linux/hexdump.c  \
  158.                 ../ddk/stdio/vsprintf.c \
  159.                 ../ddk/string/strstr.c  \
  160.                 ../ddk/string/_strncat.S\
  161.                 ../ddk/string/_strncmp.S\
  162.                 ../ddk/string/_strncpy.S\
  163.                 ../ddk/string/_strnlen.S\
  164.                 ../ddk/string/memcmp.S  \
  165.                 ../ddk/string/strcat.S  \
  166.                 ../ddk/string/strcmp.S  \
  167.                 ../ddk/string/strcpy.S  \
  168.                 ../ddk/string/strncmp.S \
  169.                 ../ddk/string/strncpy.S \
  170.                 ../ddk/string/strnlen.S \
  171.                 $(NULL)
  172.  
  173.  
  174.  
  175. all: $(NAME).dll
  176.  
  177. NAME_OBJS =  $(patsubst %.S, %.o, $(patsubst %.asm, %.o,\
  178.             $(patsubst %.c, %.o, $(NAME_SRCS))))
  179.  
  180.  
  181. all: $(NAME).dll
  182.  
  183. $(NAME).dll: $(NAME_SRCS) acpi.lds Makefile
  184.         $(CC) $(CFLAGS) -nostdlib -fwhole-program -flto -Wl,-Map,acpi.map,-T,acpi.lds,$(LDFLAGS) -Wl,$(LIBPATH) -o $@ $(NAME_SRCS) $(LIBS)
  185.         strip $(NAME).dll
  186. #       kpack $(NAME).dll
  187.  
  188. %.o : %.S $(HFILES) Makefile
  189.         as -o $@ $<
  190.  
  191.  
  192.  
  193.