luajitos

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

Makefile (2368B)


      1 CC = gcc
      2 CFLAGS = -O3 -march=native -maes -mpclmul -msse4.1 -Wall -Wextra
      3 TARGET_AES = aes256_gcm_test
      4 TARGET_SERPENT = serpent256_gcm_test
      5 TARGET_RSA_PROD = rsa_production
      6 TARGET_CHACHA = chacha20_poly1305_test
      7 TARGET_CSPRNG = csprng_test
      8 TARGET_PBKDF2 = pbkdf2_test
      9 TARGET_EASYCRYPTO = easycrypto_demo
     10 
     11 # All targets
     12 all: $(TARGET_AES) $(TARGET_SERPENT) $(TARGET_RSA_PROD) $(TARGET_CHACHA) $(TARGET_CSPRNG) $(TARGET_PBKDF2) $(TARGET_EASYCRYPTO)
     13 
     14 # Standalone tests
     15 $(TARGET_AES): AES-256-GCM.c
     16 	$(CC) $(CFLAGS) -o $(TARGET_AES) AES-256-GCM.c
     17 
     18 $(TARGET_SERPENT): Serpent-256-GCM.c
     19 	$(CC) $(CFLAGS) -o $(TARGET_SERPENT) Serpent-256-GCM.c
     20 
     21 # Production RSA with GMP (2048-bit keys)
     22 $(TARGET_RSA_PROD): RSA_production.c
     23 	$(CC) $(CFLAGS) -DINCLUDE_MAIN -o $(TARGET_RSA_PROD) RSA_production.c -lgmp
     24 
     25 # ChaCha20-Poly1305 AEAD
     26 $(TARGET_CHACHA): ChaCha20-Poly1305.c
     27 	$(CC) $(CFLAGS) -DINCLUDE_MAIN -o $(TARGET_CHACHA) ChaCha20-Poly1305.c
     28 
     29 # CSPRNG (ChaCha20-based)
     30 $(TARGET_CSPRNG): CSPRNG.c
     31 	$(CC) $(CFLAGS) -DINCLUDE_MAIN -o $(TARGET_CSPRNG) CSPRNG.c
     32 
     33 # PBKDF2 Key Derivation
     34 $(TARGET_PBKDF2): PBKDF2.c
     35 	$(CC) $(CFLAGS) -DINCLUDE_MAIN -o $(TARGET_PBKDF2) PBKDF2.c
     36 
     37 # EasyCrypto Demo
     38 $(TARGET_EASYCRYPTO): easycrypto_demo.c AES-256-GCM.c ChaCha20-Poly1305.c CSPRNG.c PBKDF2.c
     39 	$(CC) $(CFLAGS) -o $(TARGET_EASYCRYPTO) easycrypto_demo.c AES-256-GCM.c ChaCha20-Poly1305.c CSPRNG.c PBKDF2.c
     40 
     41 clean:
     42 	rm -f $(TARGET_AES) $(TARGET_SERPENT) $(TARGET_RSA_PROD) $(TARGET_CHACHA) $(TARGET_CSPRNG) $(TARGET_PBKDF2) $(TARGET_EASYCRYPTO) *.o
     43 
     44 run-aes: $(TARGET_AES)
     45 	./$(TARGET_AES)
     46 
     47 run-serpent: $(TARGET_SERPENT)
     48 	./$(TARGET_SERPENT)
     49 
     50 run-rsa-prod: $(TARGET_RSA_PROD)
     51 	./$(TARGET_RSA_PROD)
     52 
     53 run-chacha: $(TARGET_CHACHA)
     54 	./$(TARGET_CHACHA)
     55 
     56 run-csprng: $(TARGET_CSPRNG)
     57 	./$(TARGET_CSPRNG)
     58 
     59 run-pbkdf2: $(TARGET_PBKDF2)
     60 	./$(TARGET_PBKDF2)
     61 
     62 run-easycrypto: $(TARGET_EASYCRYPTO)
     63 	./$(TARGET_EASYCRYPTO)
     64 
     65 run: all
     66 	@echo "=== Running AES-256-GCM test ==="
     67 	@./$(TARGET_AES)
     68 	@echo ""
     69 	@echo "=== Running Serpent-256-GCM test ==="
     70 	@./$(TARGET_SERPENT)
     71 	@echo ""
     72 	@echo "=== Running ChaCha20-Poly1305 test ==="
     73 	@./$(TARGET_CHACHA)
     74 	@echo ""
     75 	@echo "=== Running CSPRNG test ==="
     76 	@./$(TARGET_CSPRNG)
     77 	@echo ""
     78 	@echo "=== Running Production RSA (2048-bit) ==="
     79 	@./$(TARGET_RSA_PROD)
     80 
     81 .PHONY: all clean run run-aes run-serpent run-rsa-prod run-chacha run-csprng run-pbkdf2 run-easycrypto