Advertisement
Guest User

Untitled

a guest
Jun 14th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 1.15 KB | None | 0 0
  1. CASM = nasm
  2. CCPP = g++
  3. CC   = gcc
  4. CFLAGS   = -Wextra -g -m32 -std=c99
  5. NFLAGS   =
  6. INCLUDE  =
  7. OBJDIR   = objetos
  8. TARGET   = jvm.exe
  9. SOURCES_ASM = $(wildcard *.asm)
  10. SOURCES_C   = $(wildcard *.c)
  11. SOURCES_CPP = $(wildcard *.cpp)
  12. OBJECTS_ASM = $(SOURCES_ASM:.asm=.obj)
  13. OBJECTS_C   = $(SOURCES_C:.c=.obj)
  14. OBJECTS_CPP = $(SOURCES_CPP:.cpp=.obj)
  15. OBJECTS  = $(OBJECTS_ASM) $(OBJECTS_CPP) $(OBJECTS_C)
  16. DEPENDS  = $(OBJECTS_C:.obj=.d) $(OBJECTS_CPP:.obj=.d) $(OBJECTS_ASM:.obj=.d)
  17.  
  18. ifeq ($(OS),Windows_NT)
  19.     REMOVE = rm
  20.     NFLAGS += -fwin32 --PREFIX _
  21.     UNAME_S := $(shell uname -s)
  22.     ifeq ($(UNAME_S),MINGW32_NT-6.3)
  23.         REMOVE = rm
  24.     endif
  25. else
  26.     REMOVE = rm -f
  27.     UNAME_S := $(shell uname -s)
  28.     ifeq ($(UNAME_S),Linux)
  29.         NFLAGS += -felf32
  30.     endif
  31.     ifeq ($(UNAME_S),Darwin)
  32.         NFLAGS += -fmacho32 --PREFIX _
  33.     endif
  34.    
  35. endif
  36.  
  37. $(TARGET): $(OBJECTS)
  38.     $(CC) -m32 -o $@ $^ -lm
  39.  
  40. %.obj: %.c
  41.     $(CC) $(CFLAGS) $(INCLUDE) -o $@ -c $<
  42.    
  43. %.obj: %.cpp
  44.     $(CCPP) $(CFLAGS) $(INCLUDE) -o $@ -c $<
  45.  
  46. %.obj: %.asm
  47.     $(CASM) $(NFLAGS) -o $@ $<
  48.  
  49.  
  50. all: clean $(TARGET)
  51.  
  52. clean:
  53.     $(REMOVE) $(OBJECTS) $(TARGET)
  54.    
  55. test:
  56.     echo $(OBJECTS)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement